Andriy Shevchenko saw what seemed like a perfectly good goal disallowed as Milan failed to overcome Barcelona in a goalless draw in their Champions League semi-final return leg.
Carlo Ancelotti had to leave Alessandro Nesta out of the starting line-up after the defender failed a late fitness test to overcome a thigh injury picked up at the weekend against Messina so just two days after his 40th birthday Alessandro Costacurta took his place in the centre of defence. Ricky Kakà shook off his knee injury to start while Filippo Inzaghi had recovered from his bout of illness to partner Shevchenko in attack.
Milan versus Barcelona is without doubt one of the great occasions in world football and the Camp Nou did not disappoint, the players walked out to a kaleidoscope of colour and immediately got down to doing what they do best: producing free-flowing attacking football. Kakà came close after sixty seconds, sweeping forward to fire a shot just wide of the post and then moments later Nelson Dida spread himself in front of Samuel Eto'o to block a certain goal. There was little time to draw breath before Inzaghi was nipping in behind the defence only to be caught marginally offside. These lofty lords of European football continued to move the ball around with unrelenting fluency and stray passes were indeed collector's items. When one came, space suddenly opened inside the Milan area, but Dida once again blocked Eto'o and as the ball popped up Costacurta cleared from almost on the line. Any thoughts that the pace would drop were dispelled when Gattuso lifted a pass over the defence but Inzaghi's control let him down and the chance went begging. Ronaldinho then fired a drive over the bar from 25 metres, but a quick Milan counter-attack resulted in a corner. When the ball was only half-cleared, Shevchenko should have done a lot better when he found himself free on the right of the area, but instead of pulling the ball across the face of the goal, the Ukrainian went for glory and rippled the side-netting. The only surprising thing was that after 30 minutes this adventurous approach had not produced a goal but there were still some scintillating moments as Kakà skipped away from two challenges down the left flank and won another corner. The first half ended with Costacurta receiving a yellow card for a foul on Eto'o when left one-on-one with the Cameroonian.
It was an equally raucous start to the second half as Dida was forced to take flight from his goalline to gather ahead of Eto'o. Then Shevchenko dived in front of the defence but could only send his header straight at Vitor Valdes in the Barca goal. A piece of Ronaldinho magic opened up the Rossoneri defence but somehow Belletti mis-kicked with an open goal begging after Ludovic Giuly dragged the ball across from the right of the area. Inzaghi got another sight of goal on the hour mark but sliced his shot wide from an ever-narrowing angle. Marcos Cafu then replaced Costacurta enabling Stam to move into the centre. There was panic in the home defence when Serginho got to the by-line to float over a tempting cross which Valdes only clawed to Cafu but the Brazilian headed over. Manuel Rui Costa had barely entered the fray in place of Gattuso when Shevchenko had a header disallowed for what the referee perceived was a foul on Carles Puyol inside the area as the pair rose to meet the ball. The home fans breathed a collective sigh of relief but were then on their feet as substitute Henrik Larsson sent a powerful diving header goalwards but Dida got down to make a stunning save. The big Brazilian was then in the perfect position to pluck Deco's shot out of the air but Milan were not finding the openings they had been and were struggling to threaten the home goal so with ten minutes left, Ancelotti played the Alberto Gilardino card, with the young striker introduced for Inzaghi. Catalan nerves were very much on edge as Milan made a final push in search of the elusive goal to take the tie into extra-time but the nearest they would come was a long-range Serginho effort which curled wide.