Former Juve midfielder Arturo Vidal opened his Inter account with a 12th-minute header and Lautaro Martinez and Romelu Lukaku wasted chances to increase the Nerazzurri’s lead.
The Bianconeri were unable to make the most of those reprieves as an emphatic finish at the end of a route-one move saw Nicolo Barella double Inter’s advantage.
It was enough to give Antonio Conte a first Serie A win against Juve – the club he led to three straight Scudetti at the start of their ongoing run of dominance – and move the hosts level with Milan, who play their game in hand against Cagliari on Monday.
Cristiano Ronaldo had a goal correctly ruled out for offside but there was no doubt about Vidal’s opener a minute later, as the Chile international rose above Danilo to nod Barella’s delivery into the left corner.
Martinez should have doubled Inter’s lead in the 23rd minute when he blazed over with the goal gaping after Wojciech Szczesny parried Lukaku’s shot straight to him.
Striker Martinez again failed to hit the target with his next opening, while Lukaku placed an effort from Barella’s cutback too close to Szczesny before half-time.
Inter finally had a second goal in the 52nd minute, Barella surging into a huge gap in the Juve defence and firing Alessandro Bastoni’s ambitious pass into the roof of the net.
Andrea Pirlo responded by sending on Dejan Kulusevski, Federico Bernardeschi and Weston McKennie but Federico Chiesa had their best effort in the 87th minute.
Samir Handanovic kept out Chiesa’s powerful drive with a superb reaction as Inter held on for an important victory.