Mario Balotelli came off the bench to rescue a point for Manchester City on Wednesday with a successful penalty kick in the 90th minute of a 1-1 draw against Borussia Dortmund.

The Champions League Group D encounter was dominated for large stretches by the German side, but some outstanding work between the posts by City goalkeeper Joe Hart kept the home side in the contest.

Dortmund took the lead just after the hour mark when a poor pass from City's Jack Rodwell was intercepted by Marco Reus, allowing him to dart into the area and finally beat Hart.

However, City was able to salvage a point when Sergio Aguero's close-range shot struck the arm of Dortmund defender Neven Subotic.

Balotelli had come onto the field just nine minutes earlier, but he confidently stepped to the spot and sent goalkeeper Roman Weidenfeller the wrong way.

Both goalkeepers enjoyed excellent performances but Hart in particular stood out as he produced a pair of stops on Mario Gotze in the first half to keep the match scoreless.

Dortmund piled more pressure on the City net after going in front, but after some good work by Hart to keep them out, Robert Lewandowski squandered a great chance to double the lead when he missed the net from 10 yards after a great ball from Ilkay Gundogan.

The visitors should have had the match wrapped up, but the late penalty decision cost them a chance to claim a massive win that would have given them six points from two games.

After losing 3-2 at Real Madrid to open the Champions League campaign, City owns one point from two games and sits five back of leaders Madrid, who got a hat trick from Cristiano Ronaldo in a 4-1 victory at Ajax in Group D's other contest.

FC Porto made it two wins from two games as a goal from James Rodriguez in the 83rd minute gave the Portuguese side a 1-0 win over French giants PSG. Porto sits atop Group A with six points, while PSG was joined on three by Dynamo Kyiv, which downed Dinamo Zagreb, 2-0, with a pair of first-half goals.

Arsenal took sole possession of first place in Group B with a 3-1 home win over Olympiacos. The match was level at 1-1 at halftime, but Gervinho and Aaron Ramsey scored for the Gunners after the break to hand Arsenal all three points. The other match in the group saw Schalke denied its second win in the 90th minute by a goal from Montpellier's Souleymane Camara, who scored with his team down a man.

Malaga is the surprise leaders of Group C after the Spanish side collected a 3-0 victory at Anderlecht. Eliseu scored a goal in each half while Joaquin added another from the penalty spot to give Malaga six points from two games. AC Milan picked up its first win to move into second place as the Italian side secured a 3-2 victory at Zenit after an own goal from Zenit's Tomas Hubocan broke the 2-2 deadlock.