Juventus wasted the chance to move 10 points clear at the top of Serie A as the defending champions lost 4-2 at a Zlatan Ibrahimovic-inspired AC Milan.
Maurizio Sarri's Juve led 2-0 through goals from Adrien Rabiot and Cristiano Ronaldo early in the second half, but were then blown away by a brilliant Milan display as Ibrahimovic scored and made another.
Milan coach Stefano Pioli, who could reportedly be sacked at the end of the season, saw his side boost their hopes of European qualification by moving above Roma and Napoli into fifth.
"I am not remotely thinking about August 3 or the future. I am thinking of the next game," Pioli said. "There have been some tough moments, but I love what I do."
Juve remain on track for a ninth straight title, sitting seven points clear of Lazio with seven matches remaining, but could have all but ended the race with a victory.
Juventus dominated the first half without finding a breakthrough as the closest they came was when Leonardo Bonucci glanced Miralem Pjanic's free-kick wide when unmarked only three yards out.
Ibrahimovic had a couple of speculative efforts easily held by Wojciech Szczesny at the other end and also saw a goal ruled out for offside.
The reigning champions burst into life after the interval though, as French international Adrien Rabiot drove forward and fired a fine left-footed shot from the edge of the area into the top corner to score his first Serie A goal.
Ronaldo doubled the advantage less than eight minutes into the second half, netting for the fifth consecutive game and for the 26th time in Serie A this term with a cool finish.
But Milan were handed a lifeline out of nowhere on the hour mark as Bonucci was penalised for handball, and Ibrahimovic stepped up to score his sixth goal since returning to the San Siro from LA Galaxy in January.
The 38-year-old made it back-to-back games with a goal and an assist in the 66th minute, teeing up Franck Kessie to score with a deflected strike.
Incredibly, Milan completed the turnaround with their third goal in five minutes as Rafael Leao beat Szczesny at his near post.
Ante Rebic had an excellent chance to make it 4-2 with 12 minutes remaining, but Szczesny did well to save with his boot.
The Croatian international wrapped up the points two minutes later though with his 10th league goal of the season.
Earlier, Lazio, who lost 3-0 to Milan at the weekend, slumped to a second straight loss, beaten 2-1 at relegation-threatened Lecce.
Defender Patric added to Lazio's problems in injury time as he was dismissed for biting Lecce's Giulio Donati and could face a lengthy ban, especially with the strict Covid-19 regulations in place.
"Our dream must continue, which is to qualify mathematically for the Champions League," Lazio coach Simone Inzaghi told Sky Sport Italia.
"We hope to achieve it as soon as possible, but that is our only objective."