Villanueva (7-4) had posted an 0-4 record over his five previous starts, but he struck out seven and walked only one in a six-inning performance against the struggling Rays.
Tampa Bay has lost five of its last six to fall 4 1/2 games behind the New York Yankees in the American League East.
Both of the Blue Jays' runs scored on a first-inning double by Kelly Johnson, who had two of Toronto's seven hits.
Matt Moore (10-8) suffered from a lack of run support and took the loss despite striking out seven over six innings.
Kate Middleton recycles dress at movie premiere
Beyonce flaunts bikini body, Blue Ivy in vacation pics