Scott Rolen and Rod Barajas each had two runs batted in, right-hander Casey Janssen won for the first time in more than two years and Toronto beat Boston to end a nine-game losing streak.
The Blue Jays returned home after losing all nine games on a three-city trip to Boston, Atlanta and Baltimore that dropped them from first to third in the AL East. Toronto won its fifth straight at Rogers Centre, where it is 17-6 overall.
Janssen (1-1), who missed last season after shoulder surgery, started for the second time since being called up from triple-A Las Vegas.
Scott Downs finished for his sixth save.
J.D. Drew homered for Boston. Tim Wakefield (6-3) was the loser.