Dybala netted twice and Lukaku scored his first goal in his second match since joining from Chelsea. Renato Sanches, Bryan Cristante and Gianluca Mancini and an own-goal from Alberto Grassi secured Roma's first win of the season in style on Sunday.
Dybala had missed Roma's last match against Milan — which was Lukaku's debut — through injury.
Empoli have now lost all four of their opening matches without scoring a goal.
Jose Mourinho's Roma got off to the best possible start when they were awarded a penalty following a blatant handball by Empoli defender Sebastian Walukiewicz. Dybala struck it powerfully into the top left corner to give his side the lead with less than two minutes on the clock.
Renato Sanches headed in a cross from fellow new signing Rasmus Kristensen six minutes later for his first goal for Roma and the home side extended their lead further when Grassi deflected in Cristante's strike following good work from Lukaku.
Dybala doubled his tally 10 minutes after the break and he also struck the crossbar moments later.
Cristante ensured he got on the scoresheet in the 80th after an assist from Andrea Belotti, who also set up Lukaku with a delightful through ball two minutes later.
Mancini then headed home from close range after Cristante flicked on a corner.
Fiorentina were trailing to Teun Koopmeiners' strike when Nicolas Gonzalez nodded down a long ball into the box and Bonaventura, who progressed through the ranks at Atalanta before leaving in 2014 for AC Milan, controlled it with his boot before turning and volleying into the far side of the net in one marvellous move.
Fiorentina turned the match around on the stroke of halftime when Lucas Martínez Quarta headed in Alfred Duncan's cross.
Ademola Lookman equalised eight minutes after the break with a fine strike but substitute Christian Kouame scored what was to prove the winner in the 76th following some poor defending by Atalanta.
Elsewhere, Frosinone fought back from two goals down to beat Sassuolo 4-2 and record their best-ever start to a Serie A season.
Frosinone, who also hit the woodwork twice, have seven points from their opening four matches.
Lecce have a point more after matching their best start to a season with a 1-1 draw at Monza, despite playing most of the second half with 10 men, while Claudio Ranieri's Cagliari and Udinese are still searching for their first wins after they played out a 0-0 draw.