J.D. Martinez added a three-run blast for his major league-leading 25th homer, Sandy Leon hit a two-run blast and had three RBIs and Eduardo Nunez added a solo shot as Boston won for the fifth time in six games.
Martin Maldonado slugged a three-run homer and Ian Kinsler had a solo shot, but the Angels couldn't avoid their season-high-tying fifth straight loss.
Los Angeles lost 9-1 in Tuesday's opener and has been outscored 45-10 in five games against Boston this season.
Red Sox reliever Matt Barnes (2-2) tossed a scoreless inning with three strikeouts for the win. Angels reliever Jose Alvarez (3-3) was the loser after giving up two runs in an inning.
Boston starter Rick Porcello allowed four runs on eight hits and two walks with five strikeouts in 5 2/3 innings. Angels starter Andrew Heaney lasted only 3 1/3 innings, allowing six runs on eight hits with three walks and four strikeouts.
Martinez, Leon and Nunez took Heaney deep in Boston's six-run second inning. Martinez's homer set a franchise record for the most by a Red Sox player before the end of June.
Kinsler put a dent in the lead with his fifth-inning homer and Maldonado effectively ended Porcello's night with his homer in the sixth.
Los Angeles tied the game at 6 on Andrelton Simmons' RBI double in the visiting seventh.
One batter after Devers' go-ahead two-bagger, Leon singled to left to give Boston a two-run cushion.
Boston turned to closer Craig Kimbrel with two on and two outs in the eighth. Kimbrel walked Angels slugger Albert Pujols, but struck out Luis Valbuena on a full-count fastball to escape the jam.
Martinez scored from third on a wild pitch with two outs in the eighth to make it a three-run game. On the play, L.A. reliever Jake Jewell severely injured his right ankle covering home and had to be stretchered off the field.
Kimbrel pitched a scoreless ninth to cap a four-out save, his 23rd.
Angels righty Jaime Barria (5-3, 3.40 ERA) opposes Red Sox lefty Brian Johnson (1-2, 4.50) in Thursday's finale.
--Field Level Media
LA Angels | Boston | |
Andrew Heaney | Player | Rick Porcello |
No Decision | W/L | No Decision |
3.1 | IP | 5.2 |
4 | Strikeouts | 5 |
8 | Hits | 8 |
16.20 | ERA | 6.35 |
LA Angels | Boston | |
Andrelton Simmons | Player | Rafael Devers |
3 | Hits | 3 |
1 | RBI | 1 |
0 | HR | 0 |
4 | TB | 4 |
.600 | Avg | .750 |