Cesare Prandelli’s men came away with the game’s only points of the game in Paris, with Marco Pappa’s strike at the backpost giving the Bianconeri the two-goal cushion.
Juventus were hoping to add to their lead with a late winner from Rodrigo Palacio.
A first-half brace from Pappa extended their lead to two goals, and the hosts took the lead when the Brazilian midfielder crossed from the right.
Palacio’s shot went narrowly wide of the post, and Juve then levelled after the break when Kostas Manolas’ shot deflected off goalkeeper David Ospina.
But Milan were unable to find the net until the 86th minute, when Simone Pepe took a cross from the left to score the equaliser.