Cristiano Ronaldo gave Juve the lead in the 36th minute with a deflected shot.
There were then three goals in six second-half minutes – Juve’s Daniele Rugani volleyed in and Antonino Barilla headed home for Parma before Ronaldo nodded in his second.
Gervinho’s flicked effort and strike in stoppage time completed the fightback.
Juventus boss Massimiliano Allegri was furious with his team for allowing Parma to level.
“The third goal was incredible, we had the ball by the corner flag… and then we played it into the penalty area. You can’t do that in the 95th minute.
“There’s no shame in just kicking the ball into the stands.”
Ronaldo’s strike from the edge of the area was just reward for Juve during a first half when they produced 17 efforts on goal. And when Rugani fired in at the far post in the 62nd minute it seemed as if Massimiliano Allegri’s side were heading towards their 20th league win of the season.
Parma, who improved markedly after the break, hit back soon after the restart when Barilla headed in a great delivery from Juraj Kucka. However, Ronaldo re-established the champions’ two-goal advantage with a header from Mario Mandzukic’s cross from the right.
There were 16 minutes remaining of the match when Gervinho scored his first – a cheeky flick at the near post from Kucka’s low ball.
And in stoppage time the Ivorian stunned the home support with a shot from eight yards from Roberto Inglese’s pull-back.