Juve wasted a host of chances in the opening period, with veteran defender Giorgio Chiellini guilty of missing the most glaring of them, and their profligacy proved costly as Inter earned a penalty in first-half stoppage time following a VAR review.
The home side were furious at the awarding of the spot kick, but felt justice was done when Wojciech Szczesny saved Hakan Calhanoglu's penalty, only for the referee to order a retake, which the Turkey midfielder converted to give Inter the lead.
The goal did not change the balance of play, however, as Paulo Dybala and Dusan Vlahovic both went close to an equaliser in the second half, before Inter goalkeeper Samir Handanovic tipped Denis Zakaria's brilliant strike onto the post.
It remained one-way traffic until the final whistle, but Juve, who had 23 shots at goal to Inter's five, could not make the pressure pay, as the visitors held on to seal all three points.
Juve's first league defeat since November leaves them on 59 points in fourth in the standings, four points behind Inter in third, with the champions now three behind leaders AC Milan.