The victory was all the more remarkable given the hosts were outplayed at times by a mesmeric Milan outfit, who bounced back in superb style from Ronaldo's fourth-minute opener and were never likely to be the powderpuff opposition Roma provided in the last round.
Brazilian striker Kaka looked to have put Milan firmly in the box seat as he first cancelled out Ronaldo's opener and then fired the visitors into the lead before half time. Rooney restored parity just ahead of the hour mark, before sending the majority of the 73,000 fans crammed into the stadium into raptures with a wonderful solo goal with seconds remaining. It was not quite as majestic a performance as two weeks ago, when United trounced Roma 7-1, but no less satisfying; rather than the free-scoring fluid football witnessed on that magnificent evening a fortnight ago, this victory was steeped in courage, grit and determination.
As is their want when faced with Italian opposition at Old Trafford, United took an early lead and there was little surprise as to the identity of the scorer and after much UEFA deliberation, Ronaldo was credited with the opener after just six minutes. Cristiano Ronaldo used all of his height to rise and meet Ryan Giggs' corner with a header that hit Dida's shoulder, sending the ball looping goalwards. Dida tried to get back, but only succeeded in nudging it over the line under pressure from Gabriel Heinze.
Kaka confirmed that was a one-off with the first of his two strikes on 19 minutes. It was a brilliant goal and one that embodied all that is good about the silky Brazilian - not only did he show his abundant pace and skill, but he also displayed his coolness in front of goal, bursting onto Clarence Seedorf's through ball to leave both Michael Carrick and Heinze for dead, before slotting across Edwin van der Sar.
Kaka was undoubtedly the star of the show in the opening 45 minutes, and his second gave Milan the lead going in at the break, although this time he was gifted a shooting opportunity, when Heinze and Patrice Evra collided on the edge of the box. Kaka simply strode forward and confidently slotted home. At 2-1 up, Milan threatened to swamp United as their retention of possession and passing began to highlight just why they are such a force to be reckoned with in Europe.
United never gave up hope, and Rooney's 59th minute strike against the run of play kept alive their interest in this tie. The England striker finished well, but it was all about Paul Scholes' scooped pass through, which baffled the Milan defence and played his team-mate in on goal. Dida did his best to make the save, but the ball looped over the line to set up the stage for Rooney's winner. Giggs was the provider, lacing a pass through for Rooney to run onto and take on a first time shot. The surprise and accuracy of his effort caught out Dida at his near post and gave United a slight advantage ahead of next week's trip to Italy.
Manchester United's second half performance had possibly deserved the victory, and after the equaliser, the hosts poured forward in search of a winner. Fletcher came close on 63 minutes only to see Dida pull a flying save right out of the top drawer, before Giggs flashed a free kick inches wide of the post and Ronaldo hit the side netting.
For Milan, Kaka posed a constant threat, while Alberto Gilardino toiled up front on his own to no avail. Coach Carlo Ancelotti's main striker in Europe has struggled all season and on this evidence, is some way off discovering his form. More worrying news for coach Carlo Ancelotti was that Paolo Maldini and Gennaro Gattuso had to be substituted, and both players will now face a race against time to be fit for the second leg in eight day's time.
Manchester United: Van der Sar, O'Shea, Brown, Heinze, Evra, Fletcher, Carrick, Scholes, Ronaldo, Rooney, Giggs.
Subs Not Used: Kuszczak, Smith, Solskjaer, Dong, Richardson, Eagles, Lee.
Booked: Evra, Giggs.
Goals: Ronaldo 6, Rooney 59, 90.
AC Milan: Dida, Oddo, Nesta, Maldini (Bonera 46), Jankulovski, Gattuso (Brocchi 52), Pirlo, Ambrosini, Seedorf, Kaka, Gilardino (Gourcuff 84).
Subs Not Used: Kalac, Cafu, Inzaghi, Favalli.
Booked: Kaka, Bonera.
Goals: Kaka 22, 37.