The three-game sweep of the Blue Jays gave Tampa Bay its 10th win in 15 games.
Moore (9-7) saw his 17 2/3-inning scoreless streak end in the first inning but, other than a leadoff double by Rajai Davis in the first and a Moises Sierra single to open the second, didn't allow a hit over six innings.
He struck out six and walked two.
On the other side of the coin, Blue Jays starter Henderson Alvarez (7-9) was rapped for 11 runs and six runs -- four earned -- in 4 2/3 innings.
After hitting the double, Davis stole third and scored on a balk. After Sierra's single, Moore retired the next 14 before giving up a walk.
Jose Lobaton singled in a pair of runs and B.J. Upton knocked in another in a three-run second-inning Rays' rally that included an error and two walks. Ryan Roberts made the score 4-1 an inning later with an RBI single.
Evan Longoria, who had three hits, singled in Upton in the fourth and Lobaton drove in another run the fifth to make the score 6-1.
Longoria had a long drive at first called a home run but overruled and changed to a double, but it was still worth the game's final run.
'Happy' fan videos make Pharrell cry [VIDEO]
Pregnant Mila Kunis wins 'Best Villain' at MTV Movie Awards