ST. PETERSBURG, Fla. (AP) -- Rick Porcello took a shutout into the eighth inning, Mookie Betts hit his 22nd home run and the Boston Red Sox beat the Tampa Bay Rays 3-1 on Saturday night.
The win reduced Boston's magic number for clinching a playoff spot to six and kept its AL East lead over the New York Yankees at three games. It was the eighth win in 10 games for the Red Sox.
Porcello (10-17) gave up one unearned run in 7 1/3 innings, allowing five hits and a walk to win for the sixth time in nine starts.
Craig Kimbrel pitched the ninth for his 33rd save.
Adeiny Hechavarria led off Tampa Bay's seventh with a double against Porcello, moved to third on a passed ball and scored when a throw from first baseman Mitch Moreland bounced off a runner on a double-play attempt.
Betts started the second inning with his homer off starter Alex Cobb and drove in another run with a sixth-inning single, his 12th RBI in eight games.
Rafael Devers drove in Betts with a two-out double off reliever Dan Jennings.
Cobb (11-10) gave up three runs and six hits in 5 1/3 innings.
Logan Morrison was ejected from the Rays' dugout in the sixth inning.
Red Sox: LHP David Price, who last pitched on July 22 because of left elbow inflammation, could make an appearance out of the bullpen Sunday. He was activated Thursday, a day after a 48-pitch bullpen session. … DH Hanley Ramirez missed a third straight game after an MRI revealed some inflammation in his left shoulder.
Rays: RHP Jake Faria made his first relief appearance after missing a month with an abdominal strain. … LHP Xavier Cedeno (left forearm tightness) has not pitched since April 16, but the Rays are hopeful of getting him in one or more of their 13 remaining games.
LHP Eduardo Rodriguez struck out a career-high 13 in 5 1/3 innings in his last start against the Rays on Sept. 25, 2016. He will pitch Sunday's series finale against RHP Jake Odorizzi. It will be Odorizzi's 17th career start against Boston, including two losses this season.