With runners on first and second, Leon slapped a single down the third-base line off Rays closer Alex Colome (2-3). The ball bounced off the wall in foul territory and rolled into left field, allowing J.D. Martinez to score without a throw.
Martinez (4-for-4) had two RBIs and Jackie Bradley Jr. (0-for-2, walk) added another for Boston, which had lost two straight and five of its last seven games.
Denard Span (1-for-4, strikeout) slugged a two-run home run, his third of 2018, and Mallex Smith (2-for-4) had an RBI for Tampa Bay, which suffered its first loss since a 7-2 setback against Texas on April 17.
Tampa Bay outscored opponents 63-34 during its winning streak.
The Rays were denied their first sweep at Fenway Park since 2010. Boston hasn't been swept in a three-game series since last Aug. 25-27 against Baltimore.
Craig Kimbrel (1-1), who entered in relief of starter Rick Porcello with two outs in the eighth, notched the win with 1 1/3 scoreless innings.
Smith's sacrifice bunt put runners on second and third with one out, but Kimbrel struck out Jesus Sucre and struck out pinch hitter Carlos Gomez to end the threat.
Neither starting pitcher factored into the decision. Porcello threw 7 2/3 innings of three-run ball and struck out six. Tampa Bay's Matt Andriese pitched 3 1/3 scoreless innings with three strikeouts.
Boston right fielder Mookie Betts missed the game with tightness in his right hamstring. Betts, who leads the Red Sox with eight home runs this year, left Saturday's game after the fourth inning with the injury.
Span hit a 1-1 changeup from Porcello approximately 415 feet over the bullpens in right field with two outs in the third inning, giving Tampa Bay a 2-0 lead.
Smith knocked an RBI single in the fourth to make it 3-1.
Boston tied the game with a three-run sixth as Martinez knocked a two-run single and Bradley Jr. hit a sacrifice fly.
Before the game, the Rays optioned left-hander Ryan Yarbrough to Triple-A Durham and recalled right-hander Chih-Wei Hu. Yarbrough earned his first major league win in Saturday's 12-6 rout of the Red Sox.
--Field Level Media
Tampa Bay | Boston | |
Matt Andriese | Player | Rick Porcello |
No Decision | W/L | No Decision |
3.1 | IP | 7.2 |
3 | Strikeouts | 6 |
2 | Hits | 7 |
0.00 | ERA | 3.52 |
Tampa Bay | Boston | |
Daniel Robertson | Player | J.D. Martinez |
2 | Hits | 4 |
0 | RBI | 2 |
0 | HR | 0 |
2 | TB | 4 |
.500 | Avg | 1.000 |