Edwin Encarnacion added a solo blast for the Blue Jays, who lead the majors with 232 home runs this season -- 12 shy of matching the club record set in 2000.
Toronto starting pitcher Marc Rzepczynski (2-4) gave up two runs on seven hits in 6 1/3 innings. The left-hander walked three and struck out eight.
Jose Lopez had a pair of RBI singles for Seattle, while Luke French (4-6) allowed five runs on seven hits over seven full frames.
Mariners right fielder Ichiro Suzuki went 4-for-4 and scored two runs. He leads the majors with 197 hits and is now three short of his 10th straight 200-hit campaign.
Kevin Gregg came on to protect a three-run lead for Toronto in the ninth, and Matt Tuiasosopo doubled with one out on a fly ball that should have been caught. A two-out single by Suzuki put men on the corners for Chone Figgins, who lined an RBI single to right field. Gregg, though, fanned Lopez to end the game and earn his 34th save.
Suzuki led off the contest with a single and advanced on a passed ball. Figgins sacrificed the runner to third and Lopez drove in the game's first run with a base hit.
The Blue Jays took a 2-1 lead in the bottom of the first on Wells' 28th home run, which followed a two-out single by Jose Bautista.
Encarnacion cleared the left-field wall to begin the second and Snider went deep with two away in the fourth to make it a 5-1 game.
Lopez drove home Suzuki with a two-out single in the fifth.
Suzuki recorded his MLB-leading 63rd multi-hit game of the season...Toronto and Seattle split a two-game set at Safeco Field back in May, with each game decided by a single run...Rzepczynski had been winless (0-3) in his previous six starts...French fell to 1-5 on the road in 2010.