The German side drew 1-1 at West Ham in the second leg of their quarter-final tie and went through 3-1 on aggregate.
Michail Antonio put West Ham ahead on 13 minutes before Jeremie Frimpong levelled in the 89th minute for Xabi Alonso’s side.
Leverkusen will face Roma for a place in the final.
© Agence France-Presse