Goals in each half from Florian Wirtz and Robert Andrich ensured victory for Xabi Alonso’s men in the Italian capital and gave the Bundesliga champions a great chance of reaching the final in Dublin later this month.
Leverkusen will meet either Atalanta or Marseille in Ireland should they hold out in Germany next week, and on the evidence of their performance in Rome, they will be firm favorites to win their first European trophy since the old UEFA Cup in 1988.
Alonso’s team have needed a string of last-gasp goals to keep their unbeaten run going in recent weeks but there was no need for any frantic finishes in the Italian capital as Leverkusen’s superiority was fully on display.
“We had a lot of chances to score a third but they also had a good chance to cut the deficit right at the end. We’re happy with the result,” Alonso told reporters.
“We fought hard, played very well, and were very disciplined. For us, that means a lot but we still have a lot to do.”
Roma face a huge task if they are to reach a third European final in as many years after barely troubling Matej Kovar’s goal after Romelu Lukaku struck the woodwork early on.
But Daniele De Rossi’s team would have had a lifeline had substitute Tammy Abraham not headed over in front of an open goal deep in stoppage time.
“We played against a good team and if you go behind against them it becomes very difficult,” De Rossi told Sky. “We’ve managed to score early in games before and get things going our way. Let’s say it was a bit different tonight.”
“We had an incredible chance right at the end which would have given us a different outlook for the return leg.”
Roma is also in a dogfight
Roma is also in a dogfight to reach next season’s revamped Champions League in Serie A while Leverkusen remains on course for a Bundesliga, German Cup, and Europa League treble.
Leverkusen started with Victor Boniface and former Roma man Patrik Schick on the bench as Alonso, who is gunning for an unbeaten season, started with a conservative line-up.
It was a cagey affair until Lukaku headed onto the crossbar in the 22nd minute after Leandro Paredes did brilliantly to bring down an overhit corner and hook the ball back for the Belgium forward.
Moments later the away fans briefly roared with celebration as Jeremie Frimpong slipped clean through a dozing Roma backline and lifted his finish into the side netting.
But the Leverkusen fans didn’t have to wait long to see their side take the lead, and it was another Roma slip-up that allowed it to happen in the 28th minute.
Rick Karsdorp cleaned up after Chris Smalling misjudged a header but his weak back pass allowed Alejandro Grimaldo to set up Wirtz for a simple finish.
The hosts were lucky not to be two down five minutes later when Frimpong flashed wide from a great position.
Roma looked shaky every time Leverkusen came forward and after Smalling gave away a cheap corner under pressure from Amine Adli the home defence left Piero Hincapie free to head over the bar six minutes after the break.
Bryan Cristante lanced a great chance wide from Paulo Dybala’s corner but Roma’s fans were finally deflated in the 73rd minute by Andrich’s brilliant strike which put the tie firmly in Leverkusen’s hands.