Gonzalez lined a pitch from David Robertson (0-3) over the glove of Yankees third baseman Alex Rodriguez, scoring Lyle Overbay with the tie breaking run and the Blue Jays went on to add four more tallies and break a five-game losing streak.
DeWayne Wise stroked a bases-loaded triple in the big inning and Jason Frasor (3-1) was credited with the victory for Toronto after tossing a scoreless 10th inning.
Toronto's Brett Cecil held the Yankees to one run over six innings despite allowing six walks and four hits.
Yankees starter A.J. Burnett broke a string of five straight losses with a well-pitched no-decision for New York, hurling 6 2/3 shutout innings.
Reliever Joba Chamberlain allowed the Blue Jays to tie the game 1-1 in the eighth, forcing extra frames.