Match ends, Inter Milan 2, Juventus 3.
Serie A leaders Juventus scored twice in the last three minutes to secure a dramatic win over 10-man Inter Milan and maintain control of the title race.
With just one minute remaining, the destination of the title looked to be in Napoli's hands, but Gonzalo Higuain headed home the winner for Juve.
He struck moments after Juan Cuadrado had levelled, as Inter overturned Douglas Costa's opener through Mauro Icardi and an Andrea Barzagli own goal.
Juve are now four points clear.
Napoli - who have four games to play - can reduce the deficit to one if they win at Fiorentina on Sunday. But the manner of this Juve win could stun their challengers as the defending champions appeared to have thrown away the lead despite having a one-man advantage for over 75 minutes.
Juve's incredible late show
"I think football was the winner, as we saw two teams battle it out to the end," said Juventus manager Massimiliano Allegri afterwards.
As the clock ran down, Juventus' six-year grip on Serie A seemed to be weakening with Napoli closing in on a first title since 1990.
Such was the joy prompted by Higuain's goal, Allegri was sent to the stands for trying to calm his players' wild celebrations after the winner.
He had called for his side to be more physical and streetwise after a last-minute defeat by Napoli last week but they took their foot off the gas after Matias Vecino was dismissed by the video assistant referee (VAR) for a tackle on Mario Mandzukic.
Blaise Matuidi thought he had doubled the lead before half-time, only for the VAR to correctly rule offside.
From that moment, Inter came alive, with Icardi glancing a header home for his 27th goal of the season and fine play by Ivan Perisic rewarded when Barzagli turned in.
Defeat comes at a great cost to Inter, who are a point outside the top four, with fourth-placed Lazio holding a game in hand.
Goalkeeper Samir Handanovic looked to offer resistance as Juve pressed late on - saving brilliantly from a Paulo Dybala free-kick - but he could do nothing as Cuadrado drove the equaliser from a narrow angle.
Both Inter and Napoli may feel aggrieved the already booked Miralem Pjanic was not dismissed for a heavy challenge in the second-half but he survived, as did Juve, just, thanks to Higuain's dramatic close-range finish.
Higuain had gone 716 minutes without a goal - his longest drought in Italian football - but could not have picked a better time to end it.
The Serie A run-in...
|v Fiorentina (a) 29 April|
|v Bologna (h) 5 May||v Torino (h) 6 May|
|v Roma (a) 13 May||v Sampdoria (a) 13 May|
|v Hellas Verona (h) 20 May||v Crotone (h) 20 May|
- 33D'AmbrosioBooked at 58minsSubstituted forKaramohat 90+4'minutes
- 11VecinoBooked at 18mins
- 77BrozovicBooked at 88mins
- 8RafinhaSubstituted forValero Iglesiasat 81'minutes
- 9IcardiSubstituted forSantonat 85'minutes
- 20Valero Iglesias
- 29Chagas Estevao
- 7Ju CuadradoBooked at 5mins
- 15BarzagliBooked at 45mins
- 12Lobo SilvaBooked at 77mins
- 6KhediraSubstituted forDybalaat 61'minutes
- 5PjanicBooked at 21minsSubstituted forBentancurat 80'minutes
- 11Douglas Costa
- 17MandzukicBooked at 52minsSubstituted forBernardeschiat 66'minutes
- Daniele Orsato
- Shots on Target
Second Half ends, Inter Milan 2, Juventus 3.
Attempt missed. Ivan Perisic (Inter Milan) header from the left side of the box misses to the left. Assisted by João Cancelo.
Attempt missed. Miranda (Inter Milan) right footed shot from a difficult angle on the left misses to the right.
Attempt saved. Marcelo Brozovic (Inter Milan) left footed shot from the left side of the box is saved in the bottom left corner. Assisted by Miranda with a headed pass.
Substitution, Inter Milan. Yann Karamoh replaces Danilo D'Ambrosio.
Offside, Inter Milan. Milan Skriniar tries a through ball, but Danilo D'Ambrosio is caught offside.
Goal! Inter Milan 2, Juventus 3. Gonzalo Higuaín (Juventus) header from very close range to the centre of the goal. Assisted by Paulo Dybala with a cross following a set piece situation.
Marcelo Brozovic (Inter Milan) is shown the yellow card.
Federico Bernardeschi (Juventus) wins a free kick in the attacking half.
Foul by João Cancelo (Inter Milan).
Own Goal by Milan Skriniar, Inter Milan. Inter Milan 2, Juventus 2.
Foul by Douglas Costa (Juventus).
Danilo D'Ambrosio (Inter Milan) wins a free kick in the defensive half.
Substitution, Inter Milan. Davide Santon replaces Mauro Icardi.
Attempt missed. Gonzalo Higuaín (Juventus) right footed shot from outside the box is high and wide to the right. Assisted by Juan Cuadrado.
Attempt blocked. Paulo Dybala (Juventus) left footed shot from the centre of the box is blocked.
Substitution, Inter Milan. Borja Valero replaces Rafinha.
Substitution, Juventus. Rodrigo Bentancur replaces Miralem Pjanic.
Alex Sandro (Juventus) is shown the yellow card for a bad foul.