Napoli need to avoid defeat at home to Genoa on Sunday to keep their slim title hopes alive after Kean, who was subjected to alleged racist abuse in a midweek win at Cagliari, came up trumps.
Milan led in the first half thanks to Krzysztof Piatek's 21st Serie A goal of the season, with Juve struggling to create openings against the Rossoneri in the absence of injured superstar Cristiano Ronaldo.
But Paulo Dybala's penalty got Massimiliano Allegri's side back on level terms at Allianz Stadium and, with six minutes to go, teenager Kean fired home to score for the fifth consecutive game for club and country.
Piatek missed a great chance with just 63 seconds on the clock, Suso's deep right-wing cross headed wide by the striker at the back post.
The leaders survived strong penalty appeals when Alex Sandro blocked Calhanoglu's cross with his arm, but referee Michael Fabbri only gave a corner after checking with VAR.
There was no let-off for Juve in the 39th minute, though, Piatek drilling home after Tiemoue Bakayoko robbed Rodrigo Bentancur and poked the ball through for the striker to score.
Mario Mandzukic's overhead kick was brilliantly tipped over the crossbar by Pepe Reina and Piatek forced a smart save from Wojciech Szczesny with a curling 25-yard drive.
Juve were gifted a golden chance to level, however, with Dybala clumsily brought down by Mateo Musacchio in the box, and the attacker beat Reina from 12 yards.
Kean blasted over the crossbar and Sami Khedira, making his return from a heart problem after replacing the injured Emre Can, directed a headed chance off target.
Alex Sandro and Federico Bernardeschi wasted further chances but Kean would not be denied in the 84th minute.
The 19-year-old was fed by fellow substitute Miralem Pjanic and drilled an unstoppable finish across Reina to give Juventus a potential party ahead of a midweek trip to Ajax in the Champions League, although they needed Szczesny to keep out Calhanoglu's late strike.
Champagne on ice for Juve
Juve left key players including Giorgio Chiellini, Pjanic and Kean on the bench and as a result lacked their usual fluency and swagger, with Milan's intensity not matched by the league leaders.
But Juve showed the mark of champions with a superb comeback after the interval. Pjanic and Kean both provided a decisive impact off the bench and Massimiliano Allegri's decision to rotate ahead of a trip to paid off in the end.
For Milan, it is now four Serie A games without a win and they could be leapfrogged in fourth place, the final Champions League qualification place, by Atalanta. They face Inter on Sunday.