ST. PETERSBURG, Fla. -- The Tampa Bay Rays had managed just two hits in five innings against Toronto Blue Jays starter Marco Estrada. In the sixth, the floodgates opened up. Trailing 1-0, Tampa Bay had six straight batters reach base, with shortstop Matt Duffy's three-run double the key hit in a five-run inning. Up 7-1 in the ninth, the Rays put the tying run on base and held on for a 7-5 win over Toronto on Saturday night at Tropicana Field. "Marco was rolling right along and then, bam," Blue Jays manager John Gibbons said. "They piled on right there, but the key is we've got to swing the bats. We've been cold these last few games with the bats, no doubt about that, no secret." Tampa Bay got a gem from rookie left-hander Blake Snell (5-7), who held the Blue Jays to one run on two hits while striking out seven in six innings. The Rays (58-76) have taken nine of 15 contests against the Blue Jays (76-59), who entered the night with only a one-game lead on Boston atop the American League East. "It was trying to attack the zone and I saw Estrada attacking the zone, so it made me want to go out and do the same thing," Snell said. "I was attacking, but with meaning." A solid night for Estrada imploded in the sixth, with three straight singles to load the bases, the last a bunt from Kevin Kiermaier where Estrada's throw was wide of the bag. Evan Longoria tied the game with an RBI single, and Estrada put the Rays ahead with a bases-loaded walk of Brad Miller, setting up Duffy's double off the wall in left field for a 5-1 Tampa Bay lead. "You're not always going to be able to hit a team to death," Duffy said of the small-ball success that set up his big hit. "You have to grind out at-bats and just stringing together good at-bats, and you find yourself in a situation where you've got bases loaded, nobody out and nobody's hit the ball hard. Against good teams, you're going to have to do that." The Rays added to their lead in the seventh as Kiermaier hit a two-run home run - his eighth of the season - off reliever Joe Biagini, who gave up three hits in 1 1/3 innings. Toronto scored four runs in the ninth, starting with two walks and an RBI groundout from Dioner Navarro, then a two-run, two-out single by Devon Travis off reliever Enny Romero. Closer Alex Colome came into the game as the Rays backed into a save situation and gave up an RBI single to Jose Bautista. Josh Donaldson followed with a single to put the tying run on base for Edwin Encarnacion, but Colome got him to pop out to left field to end the game. "We're not getting too many hits," Gibbons said. "We didn't get too many last night. We didn't get too many tonight. You're not going to score many runs if you're not getting hits." For five innings, Snell and Estrada battled with dueling two-hitters and Toronto holding onto a 1-0 lead. The Blue Jays took the lead in the third inning, as No. 9 hitter Devon Travis hit a bloop single to center, advanced on Bautista's walk and then scored on another bloop single to center from Encarnacion. Those were the only hits Snell allowed in the first six innings. Estrada, who took a perfect game into the eighth last season against the Rays, retired the first seven in order before walking Corey Dickerson, who was caught stealing to finish the third with Estrada still facing the minimum. Logan Forsythe had the Rays' first hit in the fourth but couldn't advance, and Ryan Franklin had a single in the fifth but was stranded as well. NOTES: Rays 2B Logan Forsythe, who went 2-for-3 with two walks in Friday's win, entered Saturday with a .419 average against Toronto, the best out of the 30 players who have played in at least 10 games against the Blue Jays this season. ... The Rays have worked through four catchers this season, but the current tandem of Luke Maile and Bobby Wilson has been hitting the ball well. Since Wilson joined the team on Aug. 5, Rays catchers are hitting .282 with 15 RBIs in 26 games. Maile has three home runs in his last eight games. ... Since joining the Jays, RHP Joaquin Benoit entered Saturday with 14.1 scoreless innings in 15 games -- tied for the second-longest active streak in the majors, behind Bryan Shaw (16.2). The Jays gave up three home runs Friday and are 8-9 this season when they allow three or more home runs. When they hit three or more, they are 23-4.