Mario Balotelli's last-gasp penalty salvaged a vital point for Manchester City at the end of an enthralling Champions League clash with Borussia Dortmund.

City's 17-game unbeaten run at home in Europe looked to be over with the German side leading through a Marco Reus strike and only being denied more goals by a virtuoso performance from an inspired Joe Hart.

But with Roberto Mancini's men on the ropes in what the City manager had described as a must-win encounter in Group D, they were gifted a last-minute chance to save themselves when Neven Subotic handled inside the area, and substitute Balotelli coolly rolled home the resulting spot-kick.

The task facing Man City

"Manchester City must feel like a horrible nightmare is in danger of creeping back into their minds"

It is a point that keeps City's hopes of reaching the knockout stages alive but it was more than they deserved from a game in which their defence was often ripped to shreds.

The tone for a frantic first half was set in the first few seconds when Edin Dzeko's flick allowed space for Samir Nasri's shot, which was pushed away by Roman Weidenfeller.

Weidenfeller was a busy man in the first half, dashing from his line on two occasions to thwart Sergio Aguero after David Silva sent him running clear, and also tipping over a fizzing shot from the Argentine striker.

But the real heroics were taking place at the other end, where Hart made his first fantastic save of the night after 12 minutes when he dived at full length to claw Mario Gotze's shot on to the post.

Much had been made of the threat posed to City by Polish striker Robert Lewandowski in the build-up to the game, but it was Germany international Gotze who looked most likely to break the deadlock.

Hart had to spread himself to keep out the Dortmund playmaker's dinked shot after a neat Dortmund move before somehow turning a fierce angled effort from the same player on to his crossbar.

The chances kept coming and, after the impressive Silva somehow failed to turn in Pablo Zabaleta's cross from point-blank range, it was down to Hart to keep the game scoreless at the break, this time denying Ilkay Gundogan with another instinctive stop.

Gotze and Hart kept up their personal battle at the start of the second half, with Hart throwing himself to his right to keep out a curling effort from the edge of the area.

But Dortmund continued to look dangerous and and got their reward just after the hour mark, following a disastrous mistake by Jack Rodwell, on for the injured Javi Garcia.

Rodwell's pass across defence was meant for Matija Nastasic but only succeeded in releasing Reus to run into the area and fire in a shot that Hart got a hand to but could not keep out.

City relief and Dortmund agony

  • Mario Balotelli's penalty was his 11th in official matches -he has converted them all
  • Dortmund were denied a first win in England in more than 15 years - their last was a 1-0 victory against Manchester United at Old Trafford on 23 April 1997

City's attempt to respond only left them looking even more vulnerable at the back, with Hart blocking another Reus effort and tipping over Gundogan's shot, while Lewandowski failed to turn in a cross from close range.

By now Mancini's men were hanging on rather than pushing for an equaliser, but that changed after Balotelli came off the bench with 10 minutes to go.

When the ball was played into the Dortmund box, Aguero lifted it over Subotic, bringing a handball from the Dortmund defender.

Responsibility for the spot-kick fell to Balotelli, who went for precision rather than power as he sent Weidenfeller the wrong way to dig his side out of what would have been a huge hole.

Real Madrid thrashed Ajax in Amsterdam to lead the group while Dortmund occupy second spot, three points clear of City.

Even a draw means City still have it all to do to reach the knockout stages for the first time but they at least head for back-to-back ties against Ajax knowing that Madrid and Dortmund are not out of sight.

Lineup, Bookings (4) & Substitutions (6)

Manchester City

  • 01 Hart
  • 04 Kompany Booked
  • 05 Zabaleta
  • 22 Clichy (Balotelli - 81' )
  • 33 Nastasic
  • 08 Nasri (Kolarov - 56' )
  • 14 Garcia (Rodwell - 34' )
  • 21 Silva
  • 42 Y Toure Booked
  • 10 Dzeko
  • 16 Aguero

Substitutes

  • 30 Pantilimon
  • 06 Lescott
  • 13 Kolarov
  • 07 Milner
  • 17 Rodwell
  • 32 Tevez
  • 45 Balotelli

Borussia Dortmund

  • 01 Weidenfeller
  • 04 Subotic
  • 15 Hummels (Felipe Santana - 74' )
  • 26 Piszczek
  • 29 Schmelzer
  • 06 Bender
  • 08 Gundogan (Grosskreutz - 82' )
  • 16 Blaszczykowski Booked
  • 09 Lewandowski
  • 10 Gotze (Kehl - 88' )
  • 11 Reus Booked

Substitutes

  • 20 Langerak
  • 27 Felipe Santana
  • 05 Kehl
  • 07 Leitner
  • 44 Perisic
  • 19 Grosskreutz
  • 23 Schieber
Ref: Kralovec
Att: 43,607

Match Stats

Shots

10 18

On target

6 8

Corners

5 6

Fouls

11 9

Live Text Commentary

90:00 +4:13 Full time

Full Time The referee brings the game to a close.

90:00 +2:39

The referee gives a free kick against Augusto Felipe Santana for handball. Direct strike on goal from the free kick comes in from Aleksandar Kolarov.

90:00 +2:39 Booking

Booking Marco Reus is shown a yellow card for dissent.

90:00 +1:04

Inswinging corner taken by Marcel Schmelzer from the right by-line, Edin Dzeko makes a clearance.

90:00 +0:47

Robert Lewandowski takes a shot. Save made by Joe Hart.

90:00 +0:02

Effort from deep inside the area by Marco Reus clears the bar.

89:17 Goal scored

Goal! - Mario Balotelli - Man City 1 - 1 B Dortmund Mario Balotelli scores a placed penalty. Man City 1-1 Borussia Dortmund.

87:59

The referee penalises Neven Subotic for handball.

87:36

Corner from left by-line taken by Aleksandar Kolarov.

87:11 Substitution

Substitution Sebastian Kehl comes on in place of Mario Gotze.

86:52

Sergio Aguero takes a shot. Save by Roman Weidenfeller.

85:36

Free kick awarded for an unfair challenge on Mario Gotze by Aleksandar Kolarov. The free kick is swung in left-footed by Marcel Schmelzer, save by Joe Hart.

84:53

Free kick taken by Lukasz Piszczek.

84:53 Booking

Booking The referee shows Yaya Toure a yellow card.

84:45

Yaya Toure gives away a free kick for an unfair challenge on Mario Gotze.

81:30 Substitution

Substitution (Borussia Dortmund) makes a substitution, with Kevin Grosskreutz coming on for IIkay Gundogan.

80:20 Substitution

Substitution Mario Balotelli is brought on as a substitute for Gael Clichy.

79:07

Inswinging corner taken by David Silva from the right by-line, comfortable save by Roman Weidenfeller.

77:03

Unfair challenge on Lukasz Piszczek by Aleksandar Kolarov results in a free kick. Neven Subotic takes the direct free kick.

75:21

Robert Lewandowski has an effort at goal from deep inside the area missing to the left of the goal.

74:30

Unfair challenge on Aleksandar Kolarov by Sven Bender results in a free kick. Aleksandar Kolarov takes the direct free kick.

73:55

Robert Lewandowski produces a right-footed shot from just outside the box that misses to the right of the net.

73:20 Substitution

Substitution (Borussia Dortmund) makes a substitution, with Augusto Felipe Santana coming on for Mats Hummels.

72:06

Aleksandar Kolarov challenges Jakub Blaszczykowski unfairly and gives away a free kick. Roman Weidenfeller restarts play with the free kick.

70:39

The ball is sent over by Sergio Aguero, clearance by Neven Subotic.

68:58

Outswinging corner taken by Aleksandar Kolarov.

66:35

Short corner taken by Marcel Schmelzer.

66:16

IIkay Gundogan takes a shot. Save by Joe Hart.

65:27

The ball is crossed by Lukasz Piszczek, clearance by Matija Nastasic.

64:27

Inswinging corner taken by Marco Reus.

64:09

Marco Reus takes a shot. Save made by Joe Hart.

63:34

The referee blows for offside against Aleksandar Kolarov. Roman Weidenfeller takes the free kick.

61:03 Goal scored

Goal! - Marco Reus - Man City 0 - 1 B Dortmund Marco Reus finds the back of the net with a goal from inside the box to the top left corner of the goal. Man City 0-1 Borussia Dortmund.

60:30

Sergio Aguero is ruled offside. Neven Subotic takes the free kick.

58:31

Vincent Kompany gives away a free kick for an unfair challenge on Robert Lewandowski. Marcel Schmelzer crosses the ball in from the free kick.

57:14

Aleksandar Kolarov restarts play with the free kick.

57:14 Booking

Booking Jakub Blaszczykowski receives a caution for unsporting behaviour.

57:07

Unfair challenge on Aleksandar Kolarov by Jakub Blaszczykowski results in a free kick.

55:56

Outswinging corner taken left-footed by David Silva from the left by-line.

55:52 Substitution

Substitution Aleksandar Kolarov replaces Samir Nasri.

53:38

Inswinging corner taken from the left by-line by Marco Reus, clearance by Jack Rodwell.

53:20

Mario Gotze takes a shot. Joe Hart makes a save.

49:58

Edin Dzeko takes a shot. Save by Roman Weidenfeller.

45:36

Gael Clichy fouled by Mario Gotze, the ref awards a free kick. Free kick taken by Joe Hart.

45:01

The game restarts for the second half.

45:00 +1:11 Half time

Half Time The whistle is blown to end the first half.

45:00 +0:46

IIkay Gundogan takes a shot. Save by Joe Hart.

44:39

Shot from close range by David Silva misses to the right of the target.

42:57

Pablo Zabaleta gives away a free kick for an unfair challenge on Robert Lewandowski. Free kick crossed right-footed by Marco Reus, clearance made by Vincent Kompany.

42:22

The offside flag is raised against Edin Dzeko. Roman Weidenfeller restarts play with the free kick.

41:26

Yaya Toure fouled by Jakub Blaszczykowski, the ref awards a free kick. Yaya Toure restarts play with the free kick.

38:57

Mario Gotze takes a shot.

38:36

Mario Gotze takes a shot. Save by Joe Hart.

36:33

The assistant referee flags for offside against Edin Dzeko. Free kick taken by Roman Weidenfeller.

35:58

Edin Dzeko fouled by Jakub Blaszczykowski, the ref awards a free kick. Sergio Aguero takes the direct free kick.

35:28

Shot from just outside the penalty box by Neven Subotic misses to the left of the target.

34:51

Inswinging corner taken by Marco Reus from the left by-line, save made by Joe Hart.

33:58

Sergio Aguero takes a shot. Save by Roman Weidenfeller. Inswinging corner taken by Samir Nasri from the right by-line played to the near post.

33:03 Substitution

Substitution Jack Rodwell is brought on as a substitute for Francisco Javi Garcia.

29:45

IIkay Gundogan produces a right-footed shot from just outside the box that misses to the right of the target.

29:22

The referee blows for offside against Sergio Aguero. Direct free kick taken by Roman Weidenfeller.

28:54

Jakub Blaszczykowski concedes a free kick for a foul on Gael Clichy. Matija Nastasic takes the direct free kick.

28:29

Robert Lewandowski takes a shot. Joe Hart makes a comfortable save.

27:39

Marco Reus crosses the ball in from the free kick, Joe Hart makes a save.

27:39 Booking

Booking Vincent Kompany is shown a yellow card.

27:28

Marco Reus fouled by Vincent Kompany, the ref awards a free kick.

27:07

Foul by Gael Clichy on Lukasz Piszczek, free kick awarded. Lukasz Piszczek takes the direct free kick.

26:47

Sergio Aguero takes a shot. Roman Weidenfeller makes a save.

26:01

Effort from inside the area by Edin Dzeko misses to the right of the target.

24:50

IIkay Gundogan concedes a free kick for a foul on Pablo Zabaleta. David Silva takes the direct free kick.

23:57

Free kick awarded for an unfair challenge on Jakub Blaszczykowski by Sergio Aguero. IIkay Gundogan restarts play with the free kick.

21:58

Foul by Marcel Schmelzer on David Silva, free kick awarded. Free kick taken by Pablo Zabaleta.

16:22

Free kick awarded for an unfair challenge on Yaya Toure by IIkay Gundogan. Direct free kick taken by Yaya Toure.

15:05

A cross is delivered by Marcel Schmelzer, clearance by Pablo Zabaleta.

13:38

David Silva concedes a free kick for a foul on Marco Reus. Roman Weidenfeller restarts play with the free kick.

11:49

Jakub Blaszczykowski has an effort at goal from outside the penalty box missing to the wide left of the goal.

11:25

Corner from the right by-line taken by Marco Reus, Gael Clichy makes a clearance.

11:02

Mario Gotze takes a shot. Save made by Joe Hart.

7:48

Effort on goal by Pablo Zabaleta from just inside the penalty area goes over the target.

7:30

Sergio Aguero takes a shot. Save made by Roman Weidenfeller.

5:58

Headed effort from deep inside the penalty area by Robert Lewandowski goes harmlessly over the crossbar.

5:13

Edin Dzeko concedes a free kick for a foul on IIkay Gundogan. Jakub Blaszczykowski takes the direct free kick.

3:43

The ball is delivered by Mario Gotze.

1:22

Headed effort from deep inside the area by Robert Lewandowski misses to the right of the goal.

0:21

Samir Nasri takes a shot. Save by Roman Weidenfeller.

0:00

The game kicks-off.

Live data and text provided by our data suppliers