Serie A Wrap: Roma get back to winning ways
Rudi Garcia had seen his side's title tilt falter in recent weeks, going on a run of four draws on the bounce, but a return to winning ways pulls Roma within seven points of leaders Juventus, who beat Milan 3-1 on Saturday.
Adem Ljajic powered into the roof of the net after some neat build-up play in the 37th minute, before Leandro Paredes doubled the advantage with a driven half-volley five minutes from time.
Paul-Jose M'Poku headed a late consolation for Cagliari but there was not enough time for the hosts to find an equaliser.
Napoli, who have now won four in a row, remain in touch with the top two following their 3-1 win at home to Udinese.
Dries Mertens tucked home the first, before Manolo Gabbiadini raced onto a through-ball to net the second.
Cyril Thereau pulled one back before the end of the first half, but had the ball in his own net on the stroke of the hour thanks to a fluffed attempted clearance from a free-kick.
Napoli remain four points adrift of Roma, while Udinese are 12th.
Fiorentina came out on top in a five-goal thriller at home to Atalanta, winning 3-2, and climb above Sampdoria after Sinisa Mihajlovic's men were held to a 1-1 draw by Sassuolo.
Elsewhere, Inter defeated Palermo 3-0 to register their first victory in four Serie A matches.
Roberto Mancini's men had suffered back-to-back defeats in their last two games – part of a run that saw Inter slip to 13th.
The hosts looked the better side at San Siro on this occasion and went ahead through a Fredy Guarin header in the 16th minute, before two goals from Mauro Icardi made absolutely sure of the points.
In the day's remaining fixture, Empoli boosted their survival hopes with a 2-0 win over lowly Cesena.