Combined with the earlier loss against the Phillies, the Blue Jays move to 14-9-1 on the Grapefruit League season.
The Blue Jays got on the board early. In the first, George Springer grounded into a double play with the bases loaded and Andres Gimenez followed with an RBI double to give the Blue Jays an early 2-0 lead.
Bo Bichette then launched a two-run home run in the 2nd to put the Blue Jays up by four.
The Yankees slowly chipped away. The opened the top of the third with a double and a single to pull within three. Then with one out and one man on base, Trent Grisham homered to left-centre field to pull the Yankees to within one.
New York would tie it in the top of the seventh on solo home run from Ben Rice and then pull ahead in the eighth on another solo home run, this time from Brenny Escanio.
The Blue Jays got their own back in the home half of the frame on a solo home run from catcher Matt Whatley.
With two outs in the ninth, Carter Cunningham sent a 1-2 pitch over the fence for the walk off.
Kevin Gausman made his third start of the spring for the Blue Jays and gave up three runs on four hits, while striking out and walking one. In total, he threw 67 pitches.
Mason Fluharty pitched a scoreless 0.2 innings, while Jeff Hoffman was lights out, striking out three in 1.1 innings. Yimi Garcia pitched a scoreless sixth, before Tommy Nance gave up the tying run in the seventh.
Eric Pardinho pitched a scoreless ninth to pick up the win.
The Blue Jays continue their Spring Training slate with a game against the Baltimore Orioles on Tuesday afternoon. First pitch is scheduled for 3:05PM ET.