Victory over Shakhtar Donetsk in the final group game in Manchester next month would secure a spot in the next round following a goalless draw between Shakhtar and Real Sociedad earlier.
After an evenly-contested start to the game the hosts took the lead on 18 minutes through Marc Brasnic. Some 10 minutes later, things got even worse for United who lost a man and another goal in quick succession. Timo Barendt found himself through on goal, but Liam Grimshaw left the referee with little choice when he brought him down. A red card duly followed and from the resulting free-kick Leverkusen doubled their advantage; Engelman's shot smacked the crossbar and Barendt followed up unmarked to convert the rebound.
Nicky Butt's side now had a mountain to climb but the Reds were handed a lifeline just after the restart when James Wilson was upended in the area. After Leverkusen keeper Oliver Schnitzler had been dismissed for the foul, Wilson made no mistake from the spot as he smashed home. Wilson almost headed a second soon after but saw his effort brilliantly saved by substitute Leverkusen keeper Raoul Leuchter, who, a minute or so later, pulled off another top stop from McNair's close-range volley.
As the clock ticked towards the 90-minute mark substitute Ashley Fletcher headed just wide, before Leverkusen sealed the win in injury-time through sub Andrejs Cigniks. United's misery was compounded by the late dismissal, for a second yellow, of James Weir leaving the Reds to finish the game with nine men.