Paulo Dybala and Georginio Wijnaldum both made their league debuts for Jose Mourinho’s Roma but it was an older hand in Bryan Cristante who decided the match in the 33rd minute.
Italy international Cristante claimed the points with a drive from the edge of the area which took at least one deflection before nestling in the bottom corner.
Roma’s margin of victory would have been larger had they capitalised on a series of chances, in particular in the first half.
“I would have been happy if we’d won 3-0 or 4-0 but what I liked was that even though we didn’t score as many as we should have we had enough maturity to control the game” Mourinho told reporters.
Dybala was unlucky not to be on target on an impressive Roma debut in which he immediately struck up an understanding with Nicolo Zaniolo and Tammy Abraham.
The Argentina forward struck the post in the dying seconds of the opening half after a winding run from Zaniolo, who could have easily had two of his own before the break in a exciting display from the 23-year-old.
Zaniolo, long considered one of Italy’s brightest young talents, has had to battle back from two serious knee injuries and despite reported interest from Juventus and Tottenham looks committed to Roma.
It was far from one-way traffic at the Stadio Arechi as Salernitana, who completed a miracle escape from the drop to stay in Serie A, squeezed Roma back towards their own goal.
But they struggled to create chances and despite visibly tiring in the latter stages Roma would have sealed the win through Wijnaldum with five minutes left had Dybala not strayed offside in the build-up.
– Immobile saves Lazio –
Italy striker Immobile coolly slotted home the winner with 11 minutes remaining at the Stadio Olimpico to complete a comeback which looked unlikely when the hosts went a man down in the fourth minute.
Goalkeeper Luis Maximiano was sent off for handling outside his own area, and Maurizio Sarri’s side were a goal down in the 38th minute following another couple of blunders from Alessio Romagnoli and Mattia Zaccagni led to a silly foul on Nicola Sansone and a penalty which Marko Arnautovic happily tucked away.
Lazio were level in terms of on-pitch personnel going in at the break after Adama Soumaoro picked up two bookings in the space of five minutes at the end of the first half.
And they were level on the scoreboard in the 68th minute thanks to Lorenzo De Silvestri’s own goal, the Italian watching on in horror as Manuel Lazzari’s cross was patted onto him by goalkeeper Lukasz Skorupski and then rolled into his own net.
Lazio were in the ascendency and it was no surprise when the club’s all-time top scorer netted the winner after being put through by Sergej Milinkovic-Savic.
Elsewhere, Cremonese were denied a point from their first top-flight match since 1996 after an Ionut Radu blunder handed Fiorentina a 3-2 win in the fifth minute of stoppage time.
Goalkeeper Radu, whose horrendous mistake for Inter Milan helped AC Milan win the Serie A title last season, somehow managed to carry Rolando Mandragora’s cross into his own net at the death.
Matteo Bianchetti’s leveller in the 68th minute had left Cremonese hoping for a draw which would have come despite being down to 10 men for more than half the match following Gonzalo Escalante’s red card for a bad foul on Christian Kouame.
In Sunday’s other late match Spezia beat Empoli 1-0 thanks to a strike from M’Bala Nzola.