The Rays broke a three-game losing streak and cut the Yankees' division lead to 1½ games. New York lost 6-2 to Baltimore.
Price (17-6) gave up two runs before retiring a batter but allowed just two more hits, both by Victor Martinez. Boston's 2-0 lead held up until Ben Zobrist's two-run homer in the third off Daisuke Matsuzaka (9-5).
The Rays added two homers in the fifth, a two-run shot by Jason Bartlett and a three-run drive by Evan Longoria, then got back-to-back homers in the sixth from Dan Johnson and B.J. Upton. Boston had not allowed a homer in its previous six games.
Carl Crawford went 4 for 4 in just five innings, including doubles in his first three at-bats. He has 12 hits in his last 19 at-bats. He left for a pinch-hitter in the seventh when both teams made numerous lineup changes.
Tampa Bay fell one homer short of its club record and scored a season high in runs. The outburst came one day after the Rays lost 12-5 to the Red Sox.
Boston took a 1-0 lead when Marco Scutaro reached on an error by first baseman Carlos Pena, Darnell McDonald walked and Martinez doubled them home. The only other hit off Price was a single by Martinez in the third.
After tying the game in the third, the Rays scored four runs in the fourth, six in the fifth and two in the sixth.
Matsuzaka walked the first two batters in the fourth then threw late to third when he fielded Upton's sacrifice bunt, loading the bases. He walked Bartlett, forcing in the go-ahead run. After John Jaso struck out, Zobrist singled in a run and Crawford doubled home two.
The Rays scored their six runs in the fifth after the first two batters were retired. Upton singled and Bartlett hit his fourth homer of the year, knocking Matsuzaka out of the game.
Dustin Richardson then walked the next two batters before fielding Crawford's ground single and firing wildly past first base, allowing a run to score. Longoria then greeted reliever Robert Manuel with his 20th homer.
There were plenty of lowlights for the Red Sox besides the Rays' five homers. They issued their sixth bases-loaded walk in three games, allowed Tampa Bay to bat around in the fourth and fifth and had two relievers — Richardson and Manuel — allow six runs in a total of 1 1-3 innings.
Notes: Boston C Jason Varitek played for the first time since June 30 after recovering from a broken right foot. He replaced Martinez in the top of the sixth. ... Zobrist's foul ball over the left field wall hit the sign for the Cask N' Flagon restaurant, a fan favorite across the street from Fenway Park, on a fly. ... Longoria's homer landed on the roof of a parking garage, also across Lansdowne Street. ... SS Scutaro started at 2B because of problems with his right shoulder. An MRI on Tuesday showed inflammation in a long-standing rotator cuff injury. ... Pena is in an 0-for-23 slump and is batting .203.