Ivan Perisic scored an extra-time brace as he fired Inter Milan to Coppa Italia victory in the Rome final on Wednesday night.
Nicolo Barella gave Inter a sixth-minute lead, but two quickfire goals from Juventus in a space of two second-half minutes seemed to turn the final on its head.
First, Alex Sandro scored five minutes after the restart to pull his side level before Dusan Vlahovic fired them ahead two minutes later.
Inter though stepped up and equalised from the spot with 10 minutes to go through Hakam Calhanoglu to force extra time.
Inter got a second penalty in the ninth minute of extra time, with Perisic easily burying it to give them a 3-2 lead.
The Croatian then scored a stunning goal three minutes later to all but seal victory for the Serie A defending champions.
To compound the problems for Juventus, coach Massimo Allegri was sent off, with his players forced to drag him off the touchline.
Speaking after the match, Inter Milan coach Simone Inzaghi hailed the spirit of his players.
"It was a good performance against a very, very strong opponent. We did well in the first half-hour, slightly lost our shape towards the break and then had a bad approach to the second half, conceding two really avoidable goals. We should've been more careful," Inzaghi told Sport Mediaset in victory.
"However, this team never gives up. If I ever needed a response, I got nothing but responses from this side from July to today, it's been one long whirlwind of emotions.
"Now we have two more Serie A matches to play and we want to end the season as well as possible.
"It is also only fair we enjoy these moments, it had been a decade since we won the Coppa Italia or the Supercoppa, so I am happy for the club, these marvellous lads and the fans who stuck by us from start to finish,"
Inter will now shift their focus to the Serie A final lap as they still have a chance of piping AC Milan to the crown.
They currently sit second on 78 points, two behind their bitter rivals with two matches to go.