Milan and PSV Eindhoven booked their place in the knock-out phase of the Champions League along with Glasgow Rangers who last night became the first Scottish club to reach the last 16 of Europe's elite club competition.

Brazilian Kaka scored twice as Milan beat Schalke 3-2 at San Siro to progress to the next round at the expense of the German team.

Milan won Group E with 11 points with Dutch side PSV Eindhoven qualifying second on 10 points after their win over Turkey's Fenerbahce.

Schalke ended third on eight points and have to settle for a place in the UEFA Cup.

In an enthralling game, set-piece specialist Andrea Pirlo put Milan ahead in the 42nd minute with a superb, bending free-kick but within two minutes the Germans had pulled level through a Christian Poulsen header.

Six-times former champions Milan restored their lead in the 52nd minute when Andriy Shevchenko ran at the Schalke defence and then picked out Brazilian Kaka who fired home a low diagonal shot.

Kaka added his second and Milan's third on the hour but a deflected shot from Brazilian Lincoln in the 66th minute gave Schalke hope. If the match had finished 3-3 the Germans would have gone through at Milan's expense.

The game ended in ugly scenes with clashes involving several players on the final whistle.

PSV Eindhoven powered through when goals by captain Philip Cocu and Jefferson Farfan gave them a 2-0 home victory over Turkey's Fenerbahce.

Midfielder Cocu lost his marker and headed a free-kick by Farfan into the corner of the net after 14 minutes in Eindhoven.

Farfan then converted from close range five minutes from time to seal victory, although the 1988 champions earlier rode their luck when Timmy Simons handled in the area but the referee waved away Fenerbahce's appeals.

Rangers earned an historic qualification with a 1-1 draw at home against Inter in their final Group H match.

The Scottish team finished second in the group six points behind Inter and one in front of Artmedia Bratislava.

Adriano gave Inter a deserved lead after a period of sustained pressure when he headed home superbly from Sinisa Mihaijlovic's corner from the right on the half hour.

Danish winger Peter Lovenkrands equalised eight minutes later in a lightning breakaway, speeding through onto Thomas Buffel's fine ball from deep in midfield between the centre backs to steer it past Francesco Toldo.

Inter midfielder Cristiano Zanetti was sent off for a second bookable offence three minutes from time.

Porto out of Europe

Former European Cup winners Porto were dumped out of Europe when they were held 0-0 by Artmedia Bratislava in the other Group H game on a filthy night in the Slovakian capital.

A draw was little use for either side as both needed a victory to stand a chance of reaching the last 16, although a point was good enough to guarantee the Slovaks a consolation place in the UEFA Cup and condemn Porto to bottom place.

After an even first half played in torrential rain, Artmedia dominated the second period and missed a hatful of chances to become the first side from their country to reach the knockout phase of the Champions League.

Branislav Obzera was denied five minutes after the break by a brave save at his feet from Vitor Baia and the Porto keeper then denied Lukas Hartig from close range.

In the closing minutes, Artmedia's Ales Urbanek looked certain to score a winner but took an age to shoot as the ball stuck in the mud.

Defending champions Liverpool won Champions League Group G after holding English champions Chelsea to a goalless draw.

Both sides had already qualified for the knockout stages so all that was at stake were first and second places in the group. Liverpool finished with a point advantage.

The Premier League rivals started at pace looking as though they wanted a competitive match, but with no goals to raise excitement the game fizzled into a midfield stalemate.

The Anfield tie in September also ended 0-0.

A late goal from Rivaldo provided some consolation for Olympiakos Piraeus when the Greek side completed their Champions League campaign with a 2-1 win over an understrength Real Madrid.

The result made no difference at the business end of Group F because Real had already qualified in second place behind Olympique Lyon and Olympiakos had no chance of taking the UEFA Cup spot from Rosenborg.

With caretaker coach Juan Ramon Lopez Caro taking charge of Real for the first time, the Spanish club took a seventh-minute lead through Sergio Ramos.

Olympiakos came back strongly in the second half and levelled in spectacular fashion when Erol Bulut latched on to a clearance from Bravo and volleyed home from 20 metres.

Rivaldo missed a straightforward effort from close in but made no mistake when he got a second chance three minutes from time.

Olympique Lyon extended their unbeaten Champions League run by beating Rosenborg Trondheim 2-1 with a goal in added time from Brazilian striker Fred.

Group A

Vienna vs B. Munich 0-1
C. Bruges vs Juventus 1-2
Juventus vs R. Vienna 3-0
B. Munich vs C. Bruges 1-0
B. Munich vs Juventus 2-1

R. Vienna vs C. Bruges 0-1
Juventus vs B. Munich 2-1
C. Bruges vs R. Vienna 3-2
B. Munich vs R. Vienna 4-0
Juventus vs C. Bruges 1-0

Playing Today
R. Vienna vs Juventus
C. Bruges vs B. Munich

Group B

S. Prague vs Ajax 1-1
Arsenal vs FC Thun 2-1
FC Thun vs S. Prague 1-0
Ajax vs Arsenal 1-2
Ajax vs FC Thun 2-0

S. Prague vs Arsenal 0-2
FC Thun vs Ajax 2-4
Arsenal vs S. Prague 3-0
Ajax vs S. Prague 2-1
FC Thun vs Arsenal 0-1

Playing Today
S. Prague vs FC Thun
Arsenal vs Ajax

Group C

Udinese vs Panathinaikos 3-0
W. Bremen vs Barcelona 0-2
Barcelona vs Udinese 4-1
Panathinaikos vs W. Bremen 2-1
Panathinaikos vs Barcelona 0-0

Udinese vs W. Bremen 1-1
Barcelona vs Panathinaikos 5-0
W. Bremen vs Udinese 4-3
Panathinaikos vs Udinese 1-2
Barcelona vs W. Bremen 3-1

Playing Today
Udinese vs Barcelona
W. Bremen vs Panathinaikos

Group D

Villarreal vs Man. United 0-0
Benfica vs Lille 1-0
Lille vs Villarreal 0-0
Man. United vs Benfica 2-1
Man. United vs Lille 0-0

Villarreal vs Benfica 1-1
Lille vs Man. United 1-0
Benfica vs Villarreal 0-1
Man. United vs Villarreal 0-0
Lille vs Benfica 0-0

Playing Today
Villarreal vs Lille
Benfica vs Man. United

Group E

Milan vs Fenerbahce 3-1
PSV vs Schalke 1-0
Schalke vs Milan 2-2
Fenerbahce vs PSV 3-0
Fenerbahce vs Schalke 3-3

Milan vs PSV Eindhoven 0-0
Schalke vs Fenerbahce 2-0
PSV vs Milan 1-0
Fenerbahce vs Milan 0-4
Schalke vs PSV 3-0

Played Yesterday
Milan vs Schalke 3-2
PSV vs Fenerbahce 2-0

Group F

Lyon vs Real Madrid 3-0
Olympiakos vs Rosenborg 1-3
Rosenborg vs Lyon 0-1
R. Madrid vs Olympiakos 2-1
R. Madrid vs Rosenborg 4-1

Lyon vs Olympiakos 2-1
Rosenborg vs R. Madrid 0-2
Olympiakos vs Lyon 1-4
R. Madrid vs Lyon 1-1
Rosenborg vs Olympiakos 1-1

Played Yesterday
Lyon vs Rosenborg 2-1
Olympiakos vs R. Madrid 2-1

Group G

Chelsea vs Anderlecht 1-0
Real Betis vs Liverpool 1-2
Liverpool vs Chelsea 0-0
Anderlecht vs Real Betis 0-1
Anderlecht vs Liverpool 0-1

Chelsea vs Real Betis 4-0
Liverpool vs Anderlecht 3-0
Real Betis vs Chelsea 1-0
Anderlecht vs Chelsea 0-2
Liverpool vs Real Betis 0-0

Played Yesterday
Chelsea vs Liverpool 0-0
Real Betis vs Anderlecht 0-1

Group H

Rangers vs Porto 3-2
A. Bratislava vs Inter 0-1
Inter vs Rangers 1-0
Porto vs A. Bratislava 2-3
Porto vs Inter 2-0

Rangers vs A. Bratislava 0-0
Inter vs Porto 2-1
A. Bratislava vs Rangers 2-2
Porto vs Rangers 1-1
Inter vs A. Bratislava 4-0

Played Yesterday
Rangers vs Inter 1-1
A. Bratislava vs Porto 0-0

Sign up to our free newsletters

Get the best updates straight to your inbox:
Please select at least one mailing list.

You can unsubscribe at any time by clicking the link in the footer of our emails. We use Mailchimp as our marketing platform. By subscribing, you acknowledge that your information will be transferred to Mailchimp for processing.