Competing for the fifth spot in Toronto's rotation, Kyle Drabek turned in five strong scoreless innings, lowering his Grapefruit League ERA from 4.82 to 3.14. Drabek scattered five hits, walking two and striking out five.
Making his final extended start before scaling back his workload in preparation for an Opening Day start against the Rays on April 6, Sabathia permitted three runs in six innings.
"If the season started tomorrow, I'd be ready," Sabathia said. "That's just how you feel as a player. I've got two bullpens and a start in Miami [on Sunday], so I'll take those and get ready for Opening Day."
Johnson led off the game with a triple and scored on a groundout, then knocked in Yan Gomes with a third-inning single after Gomes led off the frame with a double.
Colby Rasmus added a run-scoring hit in the fourth off Sabathia, who allowed six hits, walking none and striking out five.
Blue Jays third baseman Brett Lawrie doubled and tripled in three at-bats, raising his spring average to .571.
Brett Gardner's second hit of the night, a seventh-inning single with one out, brought home Chris Dickerson to put the Yankees on the board.
The Yankees were without center fielder Curtis Granderson, who was a late scratch from the lineup with right elbow soreness. Yankees general manager Brian Cashman said the club plans to send Granderson for a precautionary MRI exam on Wednesday.
Yankees right-hander David Robertson made his second appearance coming back from a bruised right foot, pitching a scoreless seventh inning that included one walk and one strikeout.
Up next: Hiroki Kuroda will make his fifth spring start on Wednesday against the Braves in Lake Buena Vista, Fla., preparing to accept the No. 2 spot in New York's rotation. Robinson Cano, Mark Teixeira and Russell Martin headline the Yankees' lineup for the trip, with Brandon Beachy starting for Atlanta. First pitch is set for 1:05 p.m. ET, and the game can be seen on MLB.TV.