Los Angeles let a lead get away three times, allowing the Red Sox to extend their winning streak to seven games.
Boston remained 6 1/2 games behind the New York Yankees in the American League East and moved 6 1/2 games in front of Texas in the wild-card race.
The Angels stayed six games ahead of the Rangers in the AL West.
Los Angeles lost leads of 3-0, 7-5 and 8-7. After the Angels took a one-run advantage in the top of the ninth on an RBI single by Bobby Abreu, the Red Sox came back for two runs off closer Brian Fuentes (1-5) in the bottom half of the inning.
Fuentes retired the first two batters, then walked David Ortiz and gave up infield singles to J.D. Drew and Jed Lowrie.
Pinch-hitter Nick Green worked a walk to force in the tying run and Gonzalez followed with a single on a 1-2 pitch. The ball fell in front of left fielder Juan Rivera.
Boston overcame its 3-0 deficit with a five-run sixth in which Jason Bay and Gonzalez each hit two-run singles.
Daniel Bard (2-1), who gave up two hits and a run in the top of the ninth, picked up the win.
Copyright 2009 by United Press International.