Sampdoria caused a huge shock, ending Roma’s unbeaten home record to blow the Champions League race wide open.
Now Roma are second on 50 points, followed by Lazio on 49, Napoli 46, Fiorentina and Sampdoria 45 with only the top three going into the Champions League.
The pressure was on the Giallorossi after a series of stalemates, especially as Lazio closed to within a point of second place. Francesco Totti shook off injury to start, but Radja Nainggolan was suspended with Daniele De Rossi, Douglas Maicon, Victor Ibarbo, Kostas Manolas, Kevin Strootman, Leandro Castan and Federico Balzaretti sidelined. Samp missed Ezequiel Munoz, Fabrizio Cacciatore, Luca Rizzo and banned Afriyie Acquah.
Emiliano Viviano was at full stretch to palm away a Totti cross-shot, then Seydou Keita saw his fantastic volley ruled offside.
Viviano also beat away a Totti strike at the near post, but there was a double Roma danger on 41 minutes. Vasco Regini’s suicidal back-pass almost let Gervinho through, so Viviano had to hoof it clear, then the move continued and Totti mistimed his header at the back post.
Totti unleashed a snapshot from distance, but Viviano was behind it. Sampdoria almost scored an own goal before the break when Miralem Pjanic failed to connect with a Gervinho pull-back, but it ricocheted off Regini and Viviano had to block on the line.
Roma poured forward and Viviano needed a great one-handed save to deny Gervinho at the near stick, having sprinted away from defenders on Totti’s through ball.
Straight after the restart Florenzi curled a free kick to the back post, but Totti turned wide from six yards off his thigh.
It was Sampdoria who took the lead somewhat against the run of play. Samuel Eto’o pulled back from the by-line on a corner and Lorenzo De Silvestri shrugged off Florenzi to turn in from six yards. This was a particularly special moment for the defender, who is an ex-Lazio youth product.
Vasilis Torosidis drilled over from the edge of the box and Viviano fingertipped a cross off the head of substitute Seydou Doumbia.
However, Samp doubled their advantage with a counter-attack. Luis Muriel sprinted past Mapou Yanga-Mbiwa to blast his shot off the far post. The move continued with Alfred Duncan and Eder until Muriel eventually turned in from 12 yards, the Roma defence too slow to react.
Viviano was twice decisive, palming a Daniele Verde strike out from under the bar and Miralem Pjanic effort round the post.
Keita made a silly mistake, as he sarcastically applauded the referee after a booking for dissent and promptly received a second yellow card. The midfielder was distraught and his teammates struggled to get him off the pitch.
Davide Astori had the chance to get one back in stoppages, but his free header was cleared off the line by Angelo Palombo.
See the latest Serie A predictions and betting tips with Eurotips.co.uk
Sent off: Keita 81 (R)