LONDON (AP) -- Cristiano Ronaldo's second hat trick in four days allowed Real Madrid to take charge of the Champions League's toughest group Wednesday.
Arsenal, FC Porto and Malaga joined the Spanish power in earning second straight wins in the competition.
Ronaldo's three-goal performance upstaged a spectacular overhead kick by Karim Benzema in Madrid's 4-1 win against Ajax, giving Jose Mourinho's team a maximum six points in Group D.
Manchester City's struggles in Europe's top club competition continued, though, after being outclassed by Borussia Dortmund in the same group. The English champions escaped with a 1-1 draw thanks to Mario Balotelli's 90th-minute penalty kick.
AC Milan kick-started its campaign by inflicting a rare home loss on Zenit St. Petersburg, with an own goal by Tomas Hubocan sealing a 3-2 win for the seven-time European champions. They have four points in Group C, two behind Malaga after the Spanish side beat Anderlecht 3-0 to be one of seven teams with a perfect mark after two group games.
Arsenal beat Olympiakos 3-1 and Porto overcame Paris Saint-Germain 1-0 to also maintain spotless records.
Ronaldo's first hat trick in the Champions League came after he also scored three against Deportivo La Coruna in the Spanish league on Sunday. He has 12 goals in 10 games in all competitions this season. With 42 goals, he is the eighth player to score more than 40 goals in the Champions League.
While Ronaldo's low curler from the edge of the area and a clever chip were impressive goals, they couldn't compete with the stunning acrobatic effort from Benzema off Ronaldo's right-wing cross.
''We played a very good match,'' said Mourinho, bidding to become the first coach to win the Champions League with three teams. ''Benzema, Kaka and Ronaldo all played well. Now we have six points in a very difficult group.''
Madrid already looks safe to go through to the knockout stage and on current evidence, Dortmund looks the most likely to join Real.
The German champions outplayed City with an attacking display but came up against a goalkeeper in Joe Hart who may have played the best game of his career. Hart denied Dortmund with a string of fine saves until Marco Reus finally put the visitors ahead in the 61st minute. However, Balotelli rescued a point for City.
''We kept ourselves alive in the group,'' said Hart, whose team is already five points behind Madrid. Dortmund has four points.
With his team struggling in the Italian league, Milan coach Massimiliano Allegri's job has been under threat heading into the match at Zenit, which was defending a 16-match home unbeaten streak in Europe. After taking a two goal lead through Urby Emanuelson and Stephan El Shaarawy, Milan was caught back by Zenit, but came away with three points when Hubocan knocked the ball into his own net.
''This is an important victory. It is not easy to win against Zenit on their ground,'' Allegri said.
The highlight of Malaga's easy win over Anderlecht was a stunning left-foot volley by Eliseu, one of two goals scored by the Portugal international.
All four of Spain's teams won Wednesday.
Also, PSG was brought back down after its opening 4-1 win over Dynamo Kiev, falling to a late goal by James Rodriguez at Porto in Group A. Kiev is at three points with PSG after beating Dinamo Zagreb 2-0.
In Group B, goals by Gervinho, Lukas Podolski and Aaron Ramsey guided Arsenal to victory at Emirates Stadium, putting the English team on course for a 13th straight qualification to the knockout stage.
Schalke is second in the group on four points after drawing 2-2 at Montpellier.