Lazio are through to the Coppa Italia Final, as Roma fought back twice to win 3-2 on the night, but the 2-0 first leg lead was decisive.
Simone Inzaghi’s side will face either Juventus or Napoli in the Final at the Stadio Olimpico next month. It is Lazio's third Final in the last five years.
This was not only a massive Derby della Capitale, but also the best chance either club had of silverware to reach the Final and the first game with the ultras back after the 14-month boycott, because this week the deeply unpopular Perspex barriers were removed from the stands.
Lazio won the first leg 2-0 in March with Ciro Immobile and Sergej Milinkovic-Savic goals, but Marco Parolo was suspended here and Federico Marchetti injured. Daniele De Rossi wasn’t fully fit after a knock to the back on international duty, so Leandro Paredes took his place.
Edin Dzeko should’ve opened the scoring within three minutes, as he got between the centre-backs only to volley Emerson Palmieri’s cross wide from six yards.
Moments later, Ciro Immobile couldn’t get full control of a similar assist and Dzeko failed to get on the end of another Emerson low cross.
Thomas Strakosha got down for a fingertip save on Stephan El Shaarawy’s scuffed angled drive and was alert to rush off his line and smother at Dzeko’s feet.
Stefan de Vrij got in a crucial tackle to stop Salah just as he was taking the shot, but Dzeko and Felipe Anderson went into the book for a scuffle.
Lazio were only ever dangerous on the counter, as to be expected when sitting on a 2-0 first leg lead, but it proved an effective strategy.
Immobile knocked down a high ball between the centre-backs and his shot was parried by Alisson from close range, but the rebound tapped in by Milinkovic-Savic. That put Lazio 3-0 up on aggregate and above all would count as an away goal, so Roma now needed four.
Roma drew level before half-time, as Antonio Rudiger’s cross was shinned by De Vrij and Stephan El Shaarawy guided in the rebound.
The situation remained the same after the break, the Giallorossi attacking and Lazio dangerous on the break with Immobile wasting two impressive opportunities.
He didn’t get the third wrong, springing the offside trap from the centre-circle to charge undisturbed forward and keep his cool one-on-one with Alisson.
Roma’s heads dropped, but they got back into the game when El Shaarawy’s angled drive was fingertipped on to the far post and Salah tapped in the rebound.
Strakosha’s gloves were stung by a Kevin Strootman strike and Diego Perotti was booked for simulation. Francesco Totti was thrown on in the final minutes and Strakosha used his leg to parry a Salah half-volley with a great reaction save.
Nainggolan stung Strakosha’s gloves late on and Salah flicked it over the goalkeeper to at least give Roma a victory on the night, but they still went out 4-3 on aggregate.
Roma 3-2 Lazio (3-4 agg)
Milinkovic-Savic 37 (L), El Shaarawy 43 (R), Immobile 56 (L), Salah 65, 89 (R)
Roma: Alisson; Rudiger, Manolas, Juan Jesus (Peres 46), Emerson; Paredes (Totti 81), Strootman; Salah, Nainggolan, El Shaarawy (Perotti 70); Dzeko
Lazio: Strakosha; Bastos, De Vrij (Hoedt 46), Wallace; Basta, Milinkovic-Savic, Biglia (Murgia 70), Lulic, Lukaku; Felipe Anderson (Keita 57); Immobile
See the latest Serie A predictions and betting tips with Eurotips.co.uk