Giovanni Simeone scored twice as Genoa inflicted a convincing 3-1 defeat on reigning champions and Serie A leaders Juventus, who lost two defenders to injury.
The Argentine son of Atletico Madrid boss Diego caught Massimiliano Allegri's scudetto hopefuls cold with a third-minute opener before cutting through a sleepy back-line to double the Grifone lead.
As the Bianconeri scrambled to try and rescue a point, Brazilian midfielder Alex Sandro scored an unfortunate own goal to put a share of the points out of reach, with Miralem Pjanic's late strike from a free kick merely sparing the Turin club from their worst league reverse since January 2011.
There was worse news for Juve with Leonardo Bonucci forced off injured in the 33rd minute, before Dani Alves was forced off the pitch 13 minutes from time when all three substitutions had already been made.
Juventus confirmed after the game that Alves suffered a fractured fibula in the left leg, while Bonucci will be evaluated for a thigh muscle injury.
Edin Dzeko scored twice but Roma needed a third goal from Diego Perotti to survive a Pescara comeback and triumph 3-2 in the capital.
The Bosnian striker reached 12 league goals for 2016-17 with a quickfire early brace before Ledian Memushaj made it a contest after half-time.
Had Perotti not then stuck away a spot-kick, Gianluca Caprari's powerful left-footed finish would have denied Roma their share of second place with Milan.
Serie A high-flyers Lazio edged past relegation candidates Palermo 1-0 thanks to a strike from Sergej Milinkovic-Savic, moving above Roma and Torino into third for a few hours at least.
On paper it should have been a mismatch, with the hosts on a run of six successive defeats and the Biancocelesti unbeaten since Sept. 20, but the eventual scoreline left Lazio sweating until the final whistle.
Milinkovic-Savic finished deftly off his instep in the 31st minute after Dusan Basta's run and cutback. Giancarlo Gonzalez was sent off in the closing stages, compounding Palermo's woes.
Atalanta took their winning run to six matches as goals from Andrea Masiello and Jasmin Kurtic saw off Bologna 2-0, moving them level on points with Lazio.
Andrea Masiello put La Dea ahead on 15 minutes, meeting Alejandro Gomez's cross at the back post and showing great technique to lash a volley back across goal and beyond the sprawling Antonio Mirante.
The visitors doubled the lead in the 68th minute, Kurtic rising to meet a Gomez corner and converting a powerful header at the near post.
Bologna, who came closest when Federico Viviani clipped the bar, now have one win from their last nine games.
Substitute Bruno Fernandes denied Crotone their second victory of the season by earning Sampdoria their share of the points from a 1-1 draw.
Crotone were temporarily lifted off the foot of the table when Diego Falcinelli fired them ahead following a punched clearance from Samp goalkeeper Christian Puggioni in the 44th minute of play at the Stadio Ezio Scida.
Marco Giampaolo's side pushed back hard after the break and got their reward when Portuguese midfielder Fernandes diverted Fabio Quagliarella's pass beyond Alex Cordaz for an equaliser.
Marco Sau ended a nine-game scoreless streak by grabbing Cagliari's winner in a 2-1 victory against Udinese.
Diego Farias put the Rossoblu in front after 35 minutes, drawing a penalty from Orestis Karnezis and converting himself. Seko Fofana levelled from 20 yards six minutes into the second half, firing home after the ball was half-heartedly cleared.
Sau won it for Cagliari just before the hour mark, showing quick feet from close range to divert Mauricio Isla's cutback over the line.