With just Bayer Leverkusen standing in their way of an appearance in the Champions League final in Glasgow, Sir Alex Ferguson was eager to secure a fairytale return to Scotland with a team that had struggled on the domestic scene. After early exits in the FA Cup and League Cup and with the Premier League title out of reach, success in Europe was their last shot at glory but the result in the first leg had left United with an uphill task in Germany.
After twice being pegged back by Leverkusen, United made the relatively short trip to the Bundesliga outfit with the disadvantage of having two away goals against them. They were also hindered by the absence of Gary Neville, who suffered a broken foot in the first leg and had been subsequently ruled out for the season. Striker Ruud van Nistelrooy carried most of their hopes though, with the Dutchman having netted 10 times during a marathon European campaign that had already included 15 games.
During the opening stages of the match at the BayArena, United were caught between trying to push for the goal that was required to give them a chance of progression and attempting to ensure that they didn't concede a third goal in the tie that would leave them needing to score twice on the night. That indecision almost resulted in Leverkusen taking an early lead through Bernd Schneider, but the midfielder could only strike the post with Fabian Barthez beaten.
Four minutes later, United nearly snatched the lead through Ronny Johnsen, who had a header cleared off the line by Ze Roberto, but before the half-hour mark, Ferguson's men went ahead thanks to Roy Keane, who combined with Van Nistelrooy before powering into the penalty area and rounding Hans-Jorg Butt to fire home into an empty net.
It was a lead that United deserved but they needed to remain ahead at the break to complete an impressive opening 45 minutes. However, seconds before the half-time whistle, they let in an equaliser after Michael Ballack found Oliver Neuville on the edge of the penalty area before he found the back of the net off the underside of the crossbar.
The goal rocked the Premier League outfit and Leverkusen came back out after the break looking to give themselves some breathing space as far as the aggregate score was concerned. Neville had the opportunity to set up Diego Placente for a simple finish inside the box, but the German forward miscued his pass and the chance was lost.
With his side looking ineffective against an increasingly confident Leverkusen, Ferguson called upon Ole Gunnar Solskjaer to partner Van Nistelrooy in attack in the hope that they could deliver more of a cutting edge in the final third. Leverkusen had lost their skipper Jens Nowotny during the early stages of the game with a serious knee injury, but their backline looked comfortable with 20 minutes of the match remaining.
Much of the focus was on delivering the ball to either of the frontmen, but it was Paul Scholes and Keane who had United's best openings from 20 yards out, although neither could find a way past Butt. Ferguson's last alteration was Diego Forlan, but it was a replacement filled with doubt with the Uruguayan still looking for his first United goal after failing to register in 15 games.
With just minutes remaining, the 22-year-old almost found a fairytale opening strike but his well-placed shot was headed off the line by Placente. Solskjaer fired the rebound over the crossbar, and that turned out to be United's last chance as they cruelly missed out on a second appearance in the final in three years.
United's campaign petered out with a whimper, with Arsenal securing the Premier League title with a 1-0 victory at Old Trafford before the season ended with a 0-0 draw at home to Charlton Athletic. Those two results resulted in United finishing in third place, which was their lowest position since 1991.
Bayer Leverkusen: Butt, Zivkovic, Nowotny, Lucio, Placente, Basturk, Schneider, Ramelow, Ballack, Ze Roberto, Neuville
Subs: Juric, Babic, Sebescen, Kirsten, Vranjes, Kleine, Berbatov
Manchester United: Barthez, Brown, Blanc, Johnsen, Silvestre, Scholes, Keane, Veron, Butt, Giggs, van Nistelrooy
Subs: Carroll, Phil Neville, Irwin, Fortune, O'Shea, Solskjaer, Forlan