The Giallorossi were clinical as Henrikh Mkhitaryan and Roger Ibanez scored headers and Mayoral scored from close range before the break.
The Spaniard doubled his tally with a well-taken finish in the second half, before substitute Pedro Rodriguez completed the rout late on.
Roma punished the visitors’ aerial vulnerability once again when Ibanez met a Jordan Veretout corner to power a header past Cristian Balgradean, who couldn’t keep the effort out despite getting a hand to it.
Mayoral made it three when Balgradean’s save from a Veretout shot spun high into the air and Bruno Peres nodded a lay-off to the Spaniard for an easy finish.
Paulo Fonseca’s side didn’t create buckets of chances, but showed a cutting edge that was so badly missed in the 0-0 draw against CSKA Sofia last week, scoring with each of their three shots on target in the first half.
Mayoral went hunting for more after the break and came close twice in the space of a minute, when he saw a shot cleared off the line before taking a long ball in his stride and volleying over a finish.
The visitors had strong penalty shouts waved away after a clumsy challenge by substitute Lorenzo Pellegrini, but it soon meant little as a Peres cross was nodded into the path of Mayoral at the back post, who took a touch to control before applying the finish.
Pedro made it five in the final minute of regulation time, receiving a pass from 18-year-old debutant Tommaso Milanese before racing through on goal and firing into the bottom corner.