Match ends, Roma 0, Sampdoria 2.
Sampdoria condemned Roma to a first league home defeat of the season, leaving Juventus with a 14-point lead at the top of Serie A.
Lorenzo De Silvestri edged the away side ahead against the run of play, turning in after Samuel Eto'o's run.
Luis Muriel's clinical finish doubled Sampdoria's lead, before Roma midfielder Seydou Keita was sent off.
Keita was dismissed after receiving a red card for ironically applauding the referee's decision to show him yellow.
Juventus, who are chasing a fourth successive league title, beat Palermo 1-0 on Saturday.
Second-placed Roma's last home league defeat came against Juve, when they lost 1-0 on the penultimate day of last season.
Any realistic expectation of surmounting Massimiliano Allegri's side in this campaign was extinguished by a poor performance at the Stadio Olimpico, in which Roma failed to respond after going behind.
Francesco Totti, Juan Iturbe and Gervinho all missed good chances as Roma dominated for an hour, but the home side created little once Sampdoria went ahead.
Elsewhere, two goals in the last seven minutes earned Fiorentina a 2-1 home win against AC Milan, who had led through Mattia Destro.
Substitute Joaquin provided the cross for Gonzalo Rodriguez to head in Fiorentina's first, before scoring himself with one minute of normal time to play.
The result leaves 10th-placed Milan, managed by former striker Filippo Inzaghi, with just 10 points from their last 11 matches.
Fiorentina stay fifth, four points off third-placed Lazio, who consolidated their position in the league's final Champions League spot with a 2-0 win at Torino, midfielder Felipe Anderson scoring both goals.
- 26De Sanctis
- 35TorosidisSubstituted forLjajicat 72'minutes
- 23AstoriBooked at 56mins
- 20KeitaBooked at 81mins
- 15PjanicBooked at 86mins
- 10TottiSubstituted forVerdeat 63'minutes
- 7IturbeSubstituted forDoumbiaat 68'minutes
- 29De Silvestri
- 26SilvestreBooked at 39mins
- 17PalomboBooked at 51mins
- 14ObiangBooked at 24minsSubstituted forDuncanat 63'minutes
- 23ÉderSubstituted forWszolekat 90+2'minutes
- 9OkakaSubstituted forMurielat 74'minutes
- Gianpaolo Calvarese
- Shots on Target
Second Half ends, Roma 0, Sampdoria 2.
Mapou Yanga-Mbiwa (Roma) wins a free kick in the defensive half.
Foul by Samuel Eto'o (Sampdoria).
Substitution, Sampdoria. Pawel Wszolek replaces Éder.
Attempt missed. Vasco Regini (Sampdoria) right footed shot from the centre of the box is close, but misses to the left following a fast break.
Corner, Roma. Conceded by Angelo Palombo.
Attempt blocked. Davide Astori (Roma) header from the centre of the box is blocked. Assisted by Alessandro Florenzi with a cross.
Corner, Roma. Conceded by Samuel Eto'o.
Foul by Mapou Yanga-Mbiwa (Roma).
Samuel Eto'o (Sampdoria) wins a free kick in the defensive half.
Miralem Pjanic (Roma) is shown the yellow card for a bad foul.
Foul by Miralem Pjanic (Roma).
Éder (Sampdoria) wins a free kick in the defensive half.
Attempt blocked. José Holebas (Roma) left footed shot from outside the box is blocked. Assisted by Miralem Pjanic.
Gervinho (Roma) wins a free kick in the attacking half.
Foul by Alessio Romagnoli (Sampdoria).
Adem Ljajic (Roma) wins a free kick in the defensive half.
Foul by Éder (Sampdoria).
Second yellow card to Seydou Keita (Roma).