John Buck had two hits, two RBI and two runs scored while Travis Snider scored twice for the Blue Jays, who have won five straight games.
Marc Rzepczynski (3-4) went five innings in the start and was charged with two runs on four hits with three walks and nine strikeouts. At one point, he recorded eight straight outs by strikeouts.
Mark Teixeira hit a three-run home run while Curtis Granderson added a two-run shot for the Yankees, who have lost five of their last six and remain a half- game behind Tampa Bay for the top spot in the AL East. The Rays lost to Baltimore on Monday.
A.J. Burnett (10-15) was clobbered for seven runs on seven hits over just 2 1/3 innings.
New York can still clinch a playoff spot if Boston loses to Chicago later on Monday.