Snider executed a safety squeeze with one out in the sixth inning. Colby Rasmus scored on the play and, after Oakland pitcher Tommy Milone threw wide of first for an error, Brett Lawrie reached home from second, putting the Blue Jays ahead 5-4.
Toronto added a Kelly Johnson solo home run in the seventh and three run-scoring doubles and a sacrifice fly in the eighth to make the final six-run difference.
Brandon Lyon (1-2) struck out three of the four batters he faced and collected the win. Milone (9-7) was charged with six runs (five earned) and eight hits over seven innings in taking the loss. He struck out seven and didn't walk a batter.
Oakland led 3-0 after Josh Reddick hit a home run in the first and Brandon Inge added a two-run homer in the fourth.
But Toronto tied the score with a three-run home run by Edwin Encarnacion in the bottom of the inning. It was his 27th of the year.
Jemile Weeks scored on a bases-loaded ground out in the fifth that put the A's ahead 4-3.