The Blue Jays got to Boston starter Daniel Bard in the second inning, with Snider's double scoring Eric Thames and Edwin Encarnacion, and Cooper following with a sacrifice fly to score Colby Rasmus.
Bard, switching from a reliever to a starter this year, settled down to retire his last eight batters and 12 of his final 14.
Kelly Shoppach, slated to back up catcher Jarrod Saltalamacchia, hit a two-run homer in the second off Aaron Laffey to pull Boston within a run.
Toronto expanded on its lead to 5-2 on RBI singles from Cooper and Jeff Mathis.
The Jays went up 7-2 in the eighth inning. Cooper doubled to drive in Snider, then Diaz scored Cooper on a single.
Brian Jeroloman capped the scoring with a two-run double in the ninth.
Laffey gave up two runs and three hits in five innings for the win.
Laffey is vying for a back-end rotation spot after spending most of his career as a reliever. He went a combined 3-2 with a 3.88 ERA in 47 relief appearances last season with the Mariners and Yankees. He has started 49 big league games.
"Laffey is a guy who threw strikes," Toronto manager John Farrell said. "He's got good, solid stuff. He left that ball up over the plate for Shoppach, but this is a guy who has always believed he's had the ability to be a starter in the big leagues. This is the first time I'd say in two-plus years he's gone five innings. He's a good athlete on the mound. He controlled the running game. He's a guy with not very overpowering stuff, but he can be very effective."
Bard gave up seven runs on six hits and four walks in his previous outing March 15, which lasted just 2 2-3 innings.
"I felt real comfortable as the game went on," Bard said. "I just think I had a string of a couple of walks that got me in trouble. Even the ball Snider hit, it was a pretty decent fastball. You can't really get too mad about that. If the bases weren't loaded then, it wouldn't have been a big deal.
"I felt the best in the fourth and fifth innings. Physically, fatigue has not been an issue. I think the of the way I throw has helped me in that aspect."
NOTES: New England Patriots coach Bill Belichick, who attended South Florida's pro day on Tuesday, took in six innings of action at the Red Sox game as Valentine's guest. ... Boston LHP Andrew Miller did not make it through his slated seventh inning of work, leaving with a mild left hamstring strain, his latest setback. Miller did not get past the first batter he faced. "It seems to be mild in nature, but we're going to wait it out," Valentine said.
— With files from The Associated Press.