Milan move up to third, equal on 72 points with second-placed Atalanta
AC Milan pushed Juventus out of the Serie A top four with a 3-0 win in Turin on Sunday which increases their hopes of Champions League football for the first time since 2014.
Brahim Diaz put Milan ahead just before the break with Anton Rebic and Fikayo Tomori adding two more in the second half after Franck Kessie had missed a penalty.
Milan move up to third, equal on 72 points with second-placed Atalanta, with Napoli a further two points behind in fourth and the final Champions League berth.
Juventus are now fifth, one point behind the top four with three games left to play, including next weekend's clash with newly-crowned champions Inter Milan.
"We had a great game, a victory over a direct rival at this moment in the championship is very important," said Milan coach Stefano Pioli whose side lost 3-1 to Juve in the San Siro in January.
"We still have to fight. But I have a very young team, that is maturing as this evening proved."
The breakthrough came just before half time with Diaz scoring on the rebound after Juventus goalkeeper Wojciech Szczesny cleared a Hakan Calhanoglu free-kick.
Milan should have gone two up just before the hour when Giorgio Chiellini was judged to have handled the ball, but Szczensy denied Kessie's weak penalty.
Milan's star striker Zlatan Ibrahimovic came off with a left knee injury after 65 minutes with Diaz also replaced five minutes later.
"He wasn't at his best, but he didn't want to miss the match," said Pioli of the 39-year-old Swede.
"He has a sore knee, but I don't think it's something serious."
Rebic doubled Milan's lead with a fantastic strike with 12 minutes to go and Tomori put the cherry on the cake when he headed home the third minutes later.
Juventus coach Andrea Pirlo was at a loss to explain what went wrong with star striker Cristiano Ronaldo failing to add to his Serie A-leading 27 league goals.
"We got into the game pretty well and then little by little we fell apart ... It's hard to explain," said Pirlo.
"When you lose 3-0 in such an important game, it means that there are a lot of things that did not work."
Pirlo ruled out resigning, insisting: "No I won't step aside. I undertook this work with a lot of enthusiasm, with difficulties, but my work continues.
"I think I can do better. There are three games left and I will continue to do my job as long as I can."
- Atalanta second -
Earlier Atalanta brushed aside relegated Parma 5-2 to move back into second.
Gian Piero Gasperini's side are closing in on a third consecutive season of Champions League football.
"There's still two weeks to go and a lot can happen," said Gasperini.
Atalanta have the top attack in Serie A ahead of newly-crowned champions Inter Milan which they added to in Parma with Ruslan Malinovskyi grabbing the first after 12 minutes.
Luis Muriel and Matteo Pessina came on after the break and the Colombian set up the Italian for the second six minutes later.
Muriel then struck twice within 10 minutes in the final quarter of an hour to bring his tally to 21 goals this campaign.
Aleksei Miranchuk grabbed a fifth in injury time after Juan Brunetta and Simon Sohm had pulled two goals back late for Parma.
Sassuolo kept their Europa League hopes alive with a 2-1 win over Genoa.
Roberto De Zerbi's side are eighth, two points behind Roma, who crushed relegated Crotone 5-0 to end their four-match winless league run, days after their Europa League exit to Manchester United.
Borja Mayoral and Lorenzo Pellegrini both scored twice with Henrikh Mkhitaryan getting his first goal in over three months.
Cagliari won the battle with relegation rivals Benevento 3-1, to move four points clear of the drop zone, equal on points with Torino who held Hellas Verona 1-1.