Luis Muriel put Lecce ahead in the 22nd minute before David Di Michele doubled his team's lead before the interval.
Muriel added his second shortly after the re-start before Di Michele made it 4-0 from the penalty spot before the hour mark.
Roma reduced arrears with strikers Bojan and Erik Lamela scoring late in the game but it was too little too late for the visitors.
The result at the Via del Mare stadium has left Roma in sixth place, four points behind Lazio, who are third and hold the last Champions League qualifying spot.
Lazio host Napoli on Saturday night.
Lecce, meanwhile, have kept alive their hopes of Serie A survival and are in 18th place, four points behind Genoa, who hold the last position of safety with seven games remaining.
The hosts sent an early warning when Gennaro Delvecchio got his head behind Davide Brivio's cross and his effort went just wide.
The home side was then rewarded when Guillermo Giacomazzi fed Muriel in the area and his 12-yard effort beat Roma goalkeeper Maarten Stekelenburg.
Roma had the first chance in the 38th minute but Bojan's hard drive from 30 yards was kept out by Lecce goalkeeper Massimiliano Benassi.
One minute before half-time, the home side were again celebrating when Di Michele produced a neat finish in the six-yard box following Giacomazzi's corner.
Lecce struck again within four minutes of the restart and Stekelenburg should have done more to keep out Muriel's long-range effort towards the far post.
Any faint hopes Roma had of getting back into the contest were ended in the 56th minute.
The referee pointed to the spot after Roma defender Gabriel Heinze brought down Muriel in the area.
Di Michele cooly struck the ball to the centre of goal to beat Stekelenburg.
Roma came to life in the last stages of the encounter and pulled one back when Bojan's 13-yard volley from Lamela's cross beat Benassi.
One minute from time, Benassi could do nothing to clear Lamela's powerful free-kick towards the top right- hand corner of goal.