Aggregate score: 1-1
Goalflashes and major incidents
Milan win on the away goals rule
2136: The final whistle goes at the San Siro. Milan register a famous victory on the away goals rule to reach the Champions League final.
Full-time: Inter 1-1 Milan
2134: The referee's assistant signals two minutes of injury time for Inter to conjure another dramatic goal.
2131: Christian Abbiati saves again, this time denying a Ivan Cordoba header at the near post.
2130: Abbiati makes a superb save to deny Obafemi Martins scoring a dramatic winner.
2125: Obafemi Martins, lively since appearing as a substitute at the start of the second half, gives Inter a lifeline after getting the better of Paolo Maldini. The Nigerian youngster celebrates with numerous somersaults. The away goal rule means Inter must score again with seven minutes of normal time left.
Inter 1-1 Milan
2124: Marco Materazzi is lucky to stay on the pitch after kicking Andriy Shevchenko in the groin region. Milan are awarded a free-kick but substitute Serginho is off target with his strike.
2120: Another Inter corner is dealt with by the superb Milan defence. Inter, who need to score twice, are struggling to create goalscoring opportunities.
2113: Inter striker Hernan Crespo is replaced by Mohamed Kallon. The Argentine international is clearly less than pleased with the decision. Time is running out for Hector Cuper's team.
2107: A good opportunity for Inter. Belozoglu Emre strikes a good free-kick that Christian Abbiati parries towards Sergio Conceicao. The Portuguese midfielder seems well poised to shoot at goal but is put off by Andriy Shevchenko's diving block.
2106: Materazzi gives the ball away and Shevchenko almost punishes them with a second goal.
2100: Materazzi embarrassingly falls over as he strikes a free-kick. The ball misses by a substantial margin.
2057: Javier Zanetti strikes the ball powerfully from long range but directs it straight at Christian Abbiati, who easily saves. Inter, realising the away goal rule means they have to score twice, are trying to push forward at every opportunity.
2052: Obafemi Martins breaks down the left for Inter but needlessly runs the ball out of play.
2049: The second-half starts with Alvaro Recoba and Luigi di Biagio replaced by Stephane Dalmat and Obafemi Martins in the Inter side.
2031: Andriy Shevchenko puts Milan ahead after latching onto a Clarence Seedorf pass. The Milan striker skipped around Ivan Cordoba and shrugged off an ugly hack from the Uruguayan defender before shooting home under pressure from goalkeeper Francesco Toldo.
Inter Milan 0-1 AC Milan
2029: Yellow cards are coming thick and fast. Milan's Rui Costa is booked. The spate of yellow cards may have got the crowd excited but has done little for the flow of the match.
2021: The ugly side of Italian football starts to emerge following a challenge involving Inter goalkeeper Francesco Toldo and Milan striker Filippo Inzaghi. Pushing and shoving ensues with Inzaghi and Gennaro Gattuso booked.
2018: Inter's Sergio Conceicao is stretchered off after a foul by Gattuso.
2008: Milan striker Andriy Shevchenko shoots narrowly wide from a tight angle. Milan are enjoying the better of the game but Inter seem a real threat on the break.
2005: Rui Costa breaks down the right after an error by Inter defender Javier Zanetti, but he hesitates too long before crossing and the chance is gone.
1958: Hernan Crespo forces a save from Milan goalkeeper Christian Abbiati. The Argentine striker was well positioned but did not make a proper connection and will feel he should have done better.
1955: Milan's Gattuso shoots from the edge of the Inter penalty box but his shot drifts wide.
1950: Milan have marginally the best of the opening five minutes, looking to push forward at every opportunity.
1945 BST: The game starts in front of a packed San Siro. The atmosphere is electric with a prize in the final of the Champions League at stake.
Without the injured Christian Vieri, Inter Milan go into the tie with Hernan Crespo partnering Alvaro Recoba up front.
After the goalless draw last week AC Milan are hoping Andriy Shevchenko and Filippo Inzaghi can find the scoresheet, with Brazilian Rivaldo on the bench.
Christian Abbiati plays in goal, replacing the injured Dida.
Skipper Paolo Maldini plays his 45th Milan derby, breaking Giuseppe Bergomi's record.
And Maldini is also playing his 52nd successive Champions League match, setting another record.