AC Milan's charge for a first league title in a decade took a big hit on Saturday after they were deservedly beaten at promoted Spezia and gave Inter Milan an opportunity to claim top spot in Serie A.
Seven-time European champions Milan had the chance to stretch their lead over Inter to five points and put 10 between themselves and third-placed Juventus, who lost 1-0 at Napoli earlier in the evening.
But goals from Giulio Maggiore and Simone Bastoni on a historic night for Spezia mean Inter will move one point ahead of their city rivals, with the Milan derby coming up next weekend, on Sunday night if they beat a Lazio side on a run of six straight league wins.
"It was beyond even my wildest dreams," said Bastoni, whose spectacular strike was his first in Serie A.
"If we carry on playing like this, we can achieve great things."
Spezia, who had to restart from the fourth tier in 2008 after going bankrupt, have impressed in their first ever Serie A season and move up to 14th, nine points away from the relegation zone after another exciting performance.
Vincenzo Italiano's side showed why observers in Italy back them to stay up, pushing Milan onto the back foot from the start and not letting them have a single shot on target despite the presence of talisman Zlatan Ibrahimovic.
In fact it was Gianluigi Donnarumma who kept the away side level early on, making one fantastic save with 13 minutes gone to push Riccardo Saponara's powerful effort out from under the bar.
However the Italy stopper could do nothing in the 56th minute when after a sweeping passing move Maggiore found himself completely unmarked within spitting distance of the goal and slotted the home side ahead.
Bastoni doubled the hosts' lead 11 minutes later with a screamer of a strike, meeting Nahuel Estevez's pass from a free-kick to flash an angled shot past Donnarumma's despairing dive.
Substitute Mario Mandzukic's weak header wide in stoppage time was a sign of how little resistance Milan had put up in a dreadful display.
"We need to react and we will do," said Milan coach Stefano Pioli.
"It's a valuable lesson; if we don't perform to a certain level, we will be embarrassed like this."
- Insigne sinks Juve -
Spezia's win means that Juventus' title bid is still just about on course despite Lorenzo Insigne scoring his 100th Napoli goal in a 1-0 win over the champions.
Italy attacker Insigne's 31st-minute penalty secured a big three points for Napoli coach Gennaro Gattuso, whose job is widely reported to be under threat after a poor run of results.
"We're happy with the result but most of all the display, because we worked as a team and fought together... We're still a united team and we brought the win home," said Insigne, who had missed his previous three penalties against Juve.
The 29-year-old scored the winner after Giorgio Chiellini had been caught by VAR officials striking Amir Rrahmani with his hand while challenging for the ball, a decision that angered Juve coach Andrea Pirlo.
The win puts Napoli fourth, level on 40 points with Roma and Lazio and two behind Juve who stay seven points behind Milan.
Gattuso, already without key players such as Dries Mertens, then lost goalkeeper David Ospina who injured himself in the warm-up.
Replacement Alex Meret was a key to Napoli's win, making three crucial saves behind a backline missing starting centre-backs Kalidou Koulibaly and Kostas Manolas.
The Italy international was perfectly placed in the 49th minute when he managed to catch Cristiano Ronaldo's flicked volley from point-blank range.
In the 56th minute Meret brilliantly pushed away a stinging Federico Chiesa strike which flew at him through a crowd.
With four minutes left, Meret made sure of a fine win when he got down to stop Alvaro Morata's well-struck shot a short distance from goal.