TORONTO -- Logan Morrison hit the third of Tampa Bay's three home runs in the eighth inning as the Rays rallied for a 7-4 win over the struggling Toronto Blue Jays on Friday.

Toronto had taken a 3-1 lead on a Kevin Pillar homer in the seventh inning before the Rays stormed back in the next frame.

Corey Dickerson led off the eighth by tagging Marcus Stroman for a solo shot on the first pitch he saw, pulling Tampa Bay (12-12) within one, and Evan Longoria tied it with a home run off Jason Grilli (1-3) two batters later.

Morrison added to the barrage with a two-run shot off Dominic Leone after Grilli had walked Brad Miller.

Derek Norris had an RBI single in the second, then added a home run off Leone in the ninth that sent many of the 36,256 in attendance to the exits. Reliever Austin Pruitt (3-0) pitched three innings for the win and Chase Whitley earned the save.

Stroman struck out 10 batters and allowed two runs through 7 1/3 in the no-decision. Jose Bautista hit a sacrifice fly for the Blue Jays (6-17) and Darwin Barney drove in a run on a single. Toronto also scored on a double-play groundout.

Norris plated Tim Beckham from third base with a single to left field for a 1-0 lead in the second inning. Beckham had reached on a two-out walk and advanced to third on a base hit from Shane Peterson.

The Blue Jays replied with two runs in the fifth. Pillar led off the inning with a double and scored on a Barney single down the right field foul line. Barney then scored on a Kendrys Morales groundout two batters later.

Pillar reached base safely five times in a game for the first time in his career.

Dickerson led off the eighth with his solo homer on the first pitch he saw from Stroman and Longoria greeted Grilli with a homer to tie it 3-3 before Morrison's two-run shot.

A J.P. Howell wild pitch in the ninth allowed Tampa to score its seventh run.

The Blue Jays responded with a futile run in the bottom of the ninth. Pillar led off the inning with a double, moved to third on a base hit from pinch-hitter Chris Coghlan and scored on Bautista's sac fly. But Morales popped out and Justin Smoak struck out to end the game.

NOTES: Blake Snell started for the Rays, allowing two runs on six hits and three walks while striking out three through five innings. ... Toronto continues its three-game series against the Rays on Saturday afternoon. Left-hander Francisco Liriano will start for the Blue Jays. Righty Matt Andriese counters for Tampa. ... Jose Bautista is two hits shy of hitting the 1,000-hit milestone as a Blue Jay.