Jose Mourinho’s Roma remain on track for a second European trophy in two seasons, after a 0-0 draw at Bayer Leverkusen sent them through 1-0 on aggregate on Thursday.
The Europa Conference League holders created little in attack but defended doggedly, as the increasingly frustrated home side peppered their goal in search of an equaliser.
The visitors held on through eight minutes of added time and will face either Sevilla in the final in Budapest in late May.
Roma came into the game holding onto a narrow 1-0 lead, thanks to a second-half goal from Rome-born midfielder Edoardo Bove in the first leg.
Mourinho, known for his defensive tactics, has stayed true to form this Europa League season, with the Europa Conference League holders conceding just three goals in eight knockout games on the way to the final.