With Juventus recording recording crucial 3-1 comeback win over Bologna in the Italian League on Saturday, Napoli needed to get a win on Sunday to keep their title hopes alive.
Champions League Semi Finalists, Roma moved up to third on the table.
Cengiz Under’s seventh goal in eight Serie A starts was enough to see off Cagliari, who dropped into the bottom three.
Edin Dzeko played in Under and the Turkey international’s low drive went in off the inside of the far post.
Roma had goalkeeper Alisson to thank for preserving the points as he made a superb save to keep out team-mate Bruno Peres’ attempted clearance in the 36th minute and again to deny Marco Sau with seven minutes remaining.
Lazio still have work to do to ensure a top four spot for next season after they were held to a 1-1 draw at home by Atalanta.
Musa Barrow gave the home side a dream start as he slotted home with less than two minutes on the clock, but Atalanta, who are themselves still chasing a Europa League qualifying slot, equalised 22 minutes later through Felipe Caicedo
Dries Mertens fired Napoli in front in the 25th minute but the visitors drew level when Daniele Baselli hit a deflected equaliser 10 minutes into the second half
Substitute Marek Hamsik struck Napoli back in front in the 71st minute but Lorenzo De Silvestri headed home seven minutes from time to all but end the home side’s slim hopes of the title.
Inter Milan managed to narrow the gap on the top four contenders as they claimed a convincing 4-0 win at 10-man Udinese.
First half strikes from Andrea Ranocchia, Rafinha and Mauro Icardi effectively ended the contest before half-time against an Udinese side who have now taken just one point from a possible 39.
The visitors had Seko Fofano sent off for a foul in the 49th minute before Inter wrapped up victory through Borja Valero 19 minutes from time.
SPAL moved clear of the bottom three with a 2-0 win over already-relegated Benevento, Alberto Paloschi opening the scoring in the 25th minute and Mirco Antenicci wrapping up victory from the penalty spot eight minutes from time.