Bayern fought right to the end but were unable to recover and will now focus on qualifying for the tournament next season, while Milan join England's three representatives in the last four.

For the first 15 minutes, it was all Bayern.

Mark van Bommel found Christian Lell at the far post and his effort back across goal was cleared off the line by the covering Massimo Oddo.

Lukas Podolski then went close as he too found space beyond the last Milan defender, but his low driven shot was saved by the legs of Dida.

Sandwiched between those chances, Inzaghi was only inches away from reaching a sumptuous chip forward by Paolo Maldini, but the bounce of the ball favoured Bayern's number one Oliver Kahn, who collected calmly.

That was Milan's first chance, coming on the counter-attack, and another quick break led to the opening goal for Seedorf. The Dutchman was looking for room to shoot on the edge of the area, and when he found it, he threaded a shot through the legs of Daniel van Buyten and past Kahn's right arm into the bottom corner.

Seedorf then turned provider with an exquisite flick sending Inzaghi through and the experienced goal-getter fired over Kahn and into the net.

The home side again started the brighter in the second half and had the first chance of the period with Hasan Salihamidzic receiving the ball on the edge of the area before finding himself crowded out.

Van Bommel took the bull by the horns and tried to alter the course of the game with a 30-yard shot whistling just wide of Dida's post.

Bayern's substitutes were adding a new dimension to the side and, when Andreas Gorlitz found Claudio Pizarro at the far post, it looked like they had found a way back into the game, but Dida snuffed out the danger from the Peruvian's header.

There was not going to be a way back for Ottmar Hitzfeld's battlers, though, and Milan earned the chance to salvage some Italian pride against a Manchester United high on confidence after thrashing Roma 7-1.