Champions Inter recalled Samir Handanovic, Stefan De Vrij, Alessandro Bastoni, Achraf Hakimi, Christian Eriksen and Alexis Sanchez, while Dejan Kulusevski partnered Cristiano Ronaldo up front.
Juventus had the first opening early on from a square delivery which picked out Kulusevski, who forced a corner-kick off Milan Skriniar before the resultant corner went astray.
Juve had the breakthrough though on 24 minutes when Ronaldo fired in a penalty off the rebound following a save by Handanovic after Matteo Darmian handled Giorgio Chiellini according to the Video Assistant Referee (VAR).
VAR was in the thick of things again after ten minutes as it handed Inter a penalty too following a foul on Lautaro Martinez by Matthijs De Ligt, and Romelu Lukaku went on to comfortably convert.
The Bianconeri reclaimed the lead with the final effort of the first half when a first-time shot from outside the area by Juan Cuadrado deflected past Handanovic and into the far corner of the net.
Inter started the second half with the evening's first substitution in Ivan Perisic for Darmian, whilst the home side refused to thinker with their initial eleven.
Juventus were brought down to ten players ten minutes following halftime when Rodrigo Bentancur got a second yellow card for a rash challenge on Lukaku.
Inter troubled the Bianconeri in the closing quarter with a header from Matias Vecino forcing goalkeeper Wojciech Szczesny to a smart save.
However, the champions were level with five minutes to go after VAR overturned an on-field decision to award an own-goal off Chiellini.
The host went back ahead though after the referee awarded another penalty from a foul by Perisic on Cuadrado, who stepped up to convert.
Inter also ended the match with ten players in added time when Marcelo Brozovic got a second booking for a foul on Cuadrado, as it finished 3-2 to take Juventus back into the top-four.