"I attacked the zone and didn't walk anyone. I had good stuff," Haren said.
A third straight win pulled Los Angeles within 1 1/2 games of the AL West- leading Rangers.
Sabathia (19-8) gave up just one run on eight hits and four walks over six frames for the AL East leaders, who dropped their fourth game in a row but still lead the Red Sox by 2 1/2 games.
"We're not swinging the bats," Yankees manager Joe Girardi said. "It's frustrating, but we'll bounce back."
Maicer Izturis' two-out, RBI double in the second inning was the only run scored in the first six frames.
Hector Noesi relieved Sabathia in the seventh and promptly surrendered four runs. Mike Trout singled in Torii Hunter and Erick Aybar flew out deep enough to center to plate Mark Trumbo, who walked after Hunter was hit by a pitch.
Jeff Mathis followed with a two-run shot, and Hunter's solo blast in the eighth off George Kontos capped the scoring.
Sabathia is trying to become the first Yankee to win 20 games in back-to-back season since Tommy John (1978-79)....Los Angeles has won 12 of its last 14 at Angel Stadium...Haren improved to 5-1 in his career against the Yankees...Trumbo had three of LA's 13 hits...Yankees catcher Russell Martin left the game after taking a foul ball off his hand. Jorge Posada replaced him behind the plate...The Angels will go for the three-game sweep with Ervin Santana on the hill against Freddy Garcia on Sunday.