The Angels scored four runs in the third inning and added three along the way for a 7-3 win, a bold offensive night for a team that averaged just 2.7 runs in their previous 18 games.
That it came against a Cy Young Award winner made it feel a little bigger than it was.
Albert Pujols had three hits and Andrelton Simmons hit his 10th home run of the season and drove in three runs against Price (5-3), who came into the game having allowed just two runs in his previous 23 innings.
Price gave up six runs (five earned), seven hits and walked three in five innings, his worst outing since an early June loss to the Yankees. It was only the second time this season he allowed more than three runs in a game.
Simmons has been the most productive Angels player not named Mike Trout this season, and he was again. His home run capped the four-run third and gave him two more home runs in 2017 than he had in 2015 and 2016 combined.
"I just wanted to keep the inning going," Simmons said. "I was looking for a pitch up, and it was a better pitch than I expected. I thought it was a double off the bat, but it just kept going."
Simmons is hitting .320 in his last 61 games, which defies calling it a hot streak. He is moving in on career highs for doubles, home runs and RBIs in addition to his sterling defense.
"I had a similar streak in the second half of 2013," he said. "This year I've been more consistent with what I do well."
Red Sox manager John Farrell said Price's effort was an anomaly.
"The difference wasn't his stuff," Farrell said of Price. "He had a couple of cutters find the big part of the plate. The thing they did well was make him throw a lot of pitches. It really came down to two big swings."
Angels starter JC Ramirez (9-8), meanwhile, had a rough two innings, allowing four hits and two walks and making an error, then bounced back and retired 12 straight at one point to pick up the win.
Ramirez walked two and gave up an RBI single to Hanley Ramirez in the first and his error led to a two-run second. He let an easy relay from Simmons on a double-play chance tip off his glove, extending the inning for Mookie Betts and Andrew Benintendi to follow with RBI singles. He settled in thereafter.
"The first couple of innings, I couldn't get any of my breaking balls down,"' Ramirez said. "I stuck with my fastball, which I got over and it was a different game."
It was just the fifth win in 14 games for the Angels, whose 4.06 runs per game rank last in the American League.
NOTES: Red Sox manager John Farrell argued a called strike on Dustin Pedroia to end the fifth inning and was ejected by home plate umpire Phil Cuzzi. It was his second ejection of the season. .... Angels 2B Danny Espinosa was officially released by the Angels. He was designated for assignment last week and no team made a claim for him in the waiver process. The Angels will pay Espinosa the balance of his $5.4 million contract. ... Angels OF Shane Robinson remains day to day after suffering back spasms on Friday night after a diving attempt for a fly ball. He is hitting .125 in seven games this season. ... Angels RHP Matt Shoemaker, who last pitched June 14, had a successful side session from 60 feet and is scheduled to extend himself to 90 feet next week. He is disabled with a nerve syndrome in his right forearm.