Lukaku scored in the 88th minute to give Chelsea the victory in their final friendly before opening English Premier League play next weekend.
Veteran midfielder Lampard had equalised for the Blues in the 60th, after Roma went ahead in the 20th through Eric Lamela.
Chelsea were quick off the mark, and Roma goalkeeper Morgan de Sanctis had to jump in the second minute to deny a volley from Michael Essien.
But the Italian side drew first blood in the 20th minute, with the aid of a blunder by Chelsea goalkeeper Mark Schwarzer.
The Australian mishandled a back pass, allowing the ball to bounce off his post toward Eric Lamela, who knocked the ball home from a couple of yards out.
Pablo Osvaldo almost doubled the lead for Roma when he created space inside the area, cutting inside Cesar Azpilicueta and David Luiz and shooting low, but Schwarzer dipped left for the save.
Chelsea manager Jose Mourinho made six substitutions at halftime and the move paid dividends as the English side stepped up the pressure on the Roma goal.
In the 60th, Demba Ba's found Lampard, who made no mistake with a wide open shot from the top of the arc, firing a low drive into the near corner to make it 1-1.
The Blues found the winner in the 88th. Eden Hazard threaded through the Roma defence, pulling the ball back for Ba who found Lukaku.
Lukaku fired from close range, his deflected shot finding the back of the net.
With the victory Chelsea capped a four-match US pre-season tour.
They beat both AC Milan and Inter Milan by 2-0, and fell 3-1 to Real Madrid on Wednesday, when the final of the International Champions Cup friendly tournament in Miami offered Mourinho a chance to take on the club he departed amid acrimony in June.
It is Mourinho's second spell with Chelsea, the team he guided to Premier League triumphs in 2005 and 2006.
Roma, who open their Serie A campaign on August 25, were playing a third Stateside warm-up match. They beat the Major League Soccer All-Stars 3-1 and MLS outfit Toronto FC 4-1 on Wednesday. Sapa-AFP