Goals from Mattia Destro, Kevin Strootman and Adem Ljajic marked a dominant performance from the Giallorossi, who kept up the pressure on league leaders Juventus with the result.
Livorno, however, failed to get going at the Stadio Olimpico and remain four points from safety after a fifth successive defeat.
With almost the entire length of the table separating the two sides, it was no surprise when Roma took the lead after just six minutes.
Ljajic raced down the right wing before whipping a cross into the six-yard box for a waiting Destro, who had the easiest of finishes from close range.
That sparked a spell of domination which saw Mehdi Benatia and Ljajic shoot over before Destro's effort was saved by a diving Francesco Bardi.
The Livorno goalkeeper came to the rescue again on the half-hour with another fine stop to deny Miralem Pjanic and Roma wasted a further chance within seconds as Benatia headed the corner over the bar from a few yards out.
However, Strootman showed his team-mates how it was done after 36 minutes, turning home the rebound after defender Nahuel Valentini had cleared Destro's chip off the line.
Roma had the ball in the back of the net once more as the interval approached but Destro's effort was disallowed with team-mate Leandro Castan in an offside position.
Livorno mustered a rare chance early in the second half with Leandro Greco firing over the bar from distance.
But Roma quickly reasserted their authority and Pjanic was only denied a goal on the hour mark by a timely intervention from on-loan defender Ibrahima Mbaye.
Ljajic then saw two more chances go begging but he made the most of his third opportunity in the 76th minute, capping a fine home performance with a neat drive into the bottom left corner.