Torii Hunter homered for the Angels, who have lost nine of 12.
Cahill (15-6) gave up just four hits, all singles, but walked a career-high six. The right-hander, who has won six of his last eight starts, allowed only one runner past second.
Coming off his worst outing of the season when he gave up eight runs and nine hits over four innings in an 11-1 loss at the New York Yankees, Cahill repeatedly had to pitch out of trouble. The right-hander escaped a two-on, two-out situation in the first then retired Hideki Matsui on a fly to center after loading the bases in the third.
The Angels threatened again in the fifth, but right fielder Rajai Davis threw out Alberto Callaspo trying to go from first to third on Howie Kendrick's one-out single. Bobby Abreu then struck out looking.
The lack of scoring continued a troubling trend for Los Angeles. The Angels went into the game having scored only 11 runs over their previous seven games and had been shut out four times in the last two weeks, including an 8-0 loss against the A's on Friday.
With the offense struggling, starter Jared Weaver had little margin for error. Though he didn't get hit hard, Weaver wasn't his normal self and had only five strikeouts after going into the game tied with Seattle ace Felix Hernandez for the major league lead.
The Angels problems extended to their defense.
Center fielder Peter Bourjos casually tracked down Kurt Suzuki's fly ball leading off the sixth, then let the ball bounce in front of him as Suzuki raced to second with a double. Suzuki was later thrown out trying to score on a grounder but Bourjos bobbled Mark Ellis' single in the same inning, allowing Kevin Kouzmanoff to score and make it 3-0.
Weaver (11-11) walked three and allowed six hits in seven innings. He is winless since Aug. 6, a span of five starts.
Callaspo and Kendrick had two hits apiece for the Angels.
Notes: Injured A's RHP Joey Devine pitched a simulated game Saturday and appeared fine. Devine is rehabilitating from reconstructive Tommy John elbow surgery. LHP Josh Outman, who also had Tommy John surgery, was also scheduled to pitch a simulated game but threw off flat ground instead. ... The game drew just 14,227 fans. ... Oakland is 31-14 in day games, tops in the majors.