Strikes at the end of each half, from Andriy Shevchenko and Jon Dahl Tomasson, gave AC Milan a two-goal cushion to take into next week's UEFA Champions League semi-final second leg at PSV Eindhoven.
 The Dutch champions gave a good account of themselves in Italy and looked set to restrict the home side to only a one-goal lead, given to them by Shevchenko three minutes before half-time. PSV could easily have levelled matters after the break, and were made to pay seconds before the final whistle as Kaká's blocked shot fell perfectly for substitute Tomasson to turn in.
 Milan were bolstered by the return from suspension of Gennaro Gattuso while Andrea Pirlo started after a knee injury. The meanest defence in the competition was without the banned Alessandro Nesta, but Jaap Stam recovered from a tweaked hamstring to face his former club and Kakha Kaladze was fielded at left-back.
 PSV coach Guus Hiddink left Jan Vennegoor of Hesselink on the bench, preferring to utilise the pace of DaMarcus Beasley on the right. It was the PSV defenders who saw most of the early action, however, as the home side laid siege to Heurelho Gomes's goal.
 A diagonal pass from Pirlo picked out Shevchenko but the Ukrainian's side-foot volley was gathered by Gomes. Hernán Crespo then had a shot blocked by Alex before Gomes touched over another effort from the Argentinian. But the Dutch side, fresh from wrapping up their 18th domestic title on Saturday, have been nothing if not tenacious this season, and slowly got a foothold in the game.
 Phillip Cocu began asserting his influence in midfield and helped set up Jefferson Farfán, but the Peruvian's low shot was saved by Dida. PSV looked dangerous on the counterattack, with the direct running of Ji-Sung Park causing particular problems, and created a glorious opportunity in the 19th minute, Farfán springing Milan's offside trap but shooting weakly at Dida.
 Milan heeded the warning and were soon in the ascendancy again. Shevchenko jinked in from the left only to be denied by Gomes, who then pushed Kaká's shot around the post. The PSV goalkeeper did brilliantly to keep out another ferocious Kaká drive on 33 minutes, but the pressure ultimately proved too much for the visitors. Three minutes before the break, Kaká's through-ball dissected three defenders and released Shevchenko, who outpaced Wilfred Bouma and coolly slotted his low shot past Gomes.
 PSV reorganised at the break with midfield player Theo Lucius replacing the injured Bouma, allowing Cocu to drop into defence. The visitors seemed reinvigorated by the switch and Dida almost fumbled Young-Pyo Lee's low strike into the net, while Lucius and Farfán had efforts blocked before Park latched on to Farfán's cross but shot straight at the Milan goalkeeper.
 The game was surprisingly open and Crespo had already squandered a chance when Shevchenko's wonderful lob was tipped over by the outstanding Gomes. Hiddink sent on Vennegoor of Hesselink for the last 30 minutes and PSV were soon on the attack again, Mark van Bommel profiting from Kaladze's mistake but shooting narrowly over from close range.
 Milan finished the stronger of the two sides, and PSV right-back André Ooijer picked up a booking that rules him out of the second leg. The visitors defended resolutely until the end, however, and seemed to have preserved their chances of going through in front of their own fans in eight days' time, only for Tomasson's last-ditch strike to leave them with it all to do.