Porto and debutants Malaga became the first teams to reach the last 16 of the Champions League when they guaranteed their progress from the group stage with two games to spare.

Both sides's saw their 100 per cent starts end - with Porto drawing 0-0 away to Dynamo Kiev and Malaga earning a 1-1 draw with AC Milan at San Siro - but moved on to 10 points from four games in Groups A and C to secure a knockout round place.

Borussia Dortmund were on the verge of joining them until Mesut Ozil's superb curling freekick a minute from time secured Real Madrid a 2-2 draw at the Bernabeu.

Dortmund and Real are still favourites to progress from Group D after Manchester City and Ajax Amsterdam also drew 2-2, the Premier League champions hitting back from conceding twice in the first 17 minutes to retain their slim qualifying hopes.

Goals from Klaas-Jan Huntelaar and Jefferson Farfan rescued Group B leaders Schalke 04 as they hit back from 2-0 down to draw 2-2 at home to Arsenal, who stay a point behind in second.

Olympiakos Piraeus also remained in contention by beating visitors Montpellier 3-1.

Paris St Germain thumped Dinamo Zagreb 4-0 in Group A.

Anderlecht celebrated their first win in the competition proper for nine years by edging Zenit St Petersburg 1-0 in Group C.