Exeter's promotion bid suffered a setback as they lost to Rochdale.
Veteran Grecians striker Jamie Cureton opened the scoring on the stroke of half-time when he controlled a Jake Gosling cross and fired home.
Dale dominated after the break and equalised three minutes from time when Ian Henderson's shot was deflected past back-pedalling keeper Artur Krysiak.
The visitors then took all three points in stoppage-time when Bobby Grant finished off a quick break in style.
Exeter are five points behind third-placed Northampton and three above Fleetwood, who sit one place behind them in eighth.
VIEW FROM THE DRESSING ROOM
Exeter City manager Paul Tisdale told BBC Radio Devon:
"Considering how poor we were today we just hoped we could hang on, so to be at that point and lose a goal and then an injury time winner is very disappointing.
"I've not seen one of my teams play so poorly for a long, long time. We struggled to put the passes together and play any meaningful forward play at all.
"We're in a good position, it's about the next game and it's about what's possible, so we have to back each other.
"We're a very average League Two club that is in a very very good position. The heart of the team, all the talent, has been ripped out the middle of it because of injury."
Live Text Commentary
Full Time The game is over, as the referee blows his whistle.90:00 +3:27
Assist on the goal came from George Donnelly.90:00 +3:27 Goal scored
Goal! - Bobby Grant - Exeter 1 - 2 Rochdale Bobby Grant finds the net with a goal from inside the box to the bottom right corner of the goal. Exeter 1-2 Rochdale.90:00 +1:42
Inswinging corner taken from the right by-line by Craig Woodman.90:00 +1:42 Substitution
Substitution Elliott Chamberlain joins the action as a substitute, replacing Jamie Cureton.90:00 +0:01
George Donnelly takes a shot. Save made by Artur Krysiak.88:43
Peter Cavanagh challenges Mark Molesley unfairly and gives away a free kick. Craig Woodman takes the indirect free kick.87:55
Corner taken right-footed by Joe Thompson, Phil Edwards takes a shot. Save made by Artur Krysiak.86:26 Goal scored
Goal! - Ian Henderson - Exeter 1 - 1 Rochdale A goal is scored by Ian Henderson from just outside the box to the bottom right corner of the goal. Exeter 1-1 Rochdale.82:41
Foul by Lawson D'Ath on Ian Henderson, free kick awarded. Ian Henderson takes the direct free kick.81:54
Effort from just outside the area by Bobby Grant goes over the bar.80:38
Corner from right by-line taken by Craig Woodman.78:17
Free kick awarded for a foul by Lawson D'Ath on Joe Rafferty. Phil Edwards restarts play with the free kick.75:21
Mark Molesley gives away a free kick for an unfair challenge on Joe Rafferty. Joe Rafferty takes the indirect free kick.70:21
Bobby Grant is caught offside. Artur Krysiak restarts play with the free kick.68:44
Shot from deep inside the area by Bobby Grant goes over the bar.67:16 Substitution
Substitution Jake Gosling leaves the field to be replaced by Jimmy Keohane.66:21
Ashley Grimes takes a shot. Comfortable save by Artur Krysiak.65:03
Corner taken by Peter Cavanagh, Danny Coles makes a clearance.62:26 Substitution
Substitution Jason Kennedy goes off and Joe Thompson comes on.
Substitution Guillem Bauza leaves the field to be replaced by Lawson D'Ath.60:18
Shot from just outside the area by Guillem Bauza goes over the bar.58:26
Ashley Grimes takes a shot. Save by Artur Krysiak.56:20
Corner taken by Craig Woodman, save by Josh Lillis.53:22
Foul by Guillem Bauza on Josh Lillis, free kick awarded. Josh Lillis takes the free kick.49:48
Ashley Grimes takes a shot. Save by Artur Krysiak.48:09
Guillem Bauza fouled by Peter Cavanagh, the ref awards a free kick. Craig Woodman takes the direct free kick.45:01
The referee starts the second half.45:01 Substitution
Substitution Kevin McIntyre goes off and Joe Rafferty comes on.45:00 +3:28 Half time
Half Time It is the end of the first-half.45:00 +0:43
Assist by Jake Gosling.45:00 +0:43 Goal scored
Goal! - Jamie Cureton - Exeter 1 - 0 Rochdale Goal scored by Jamie Cureton from close in to the bottom left corner of the goal. Exeter 1-0 Rochdale.45:00 +0:17
Free kick awarded for a foul by Guillem Bauza on Phil Edwards. Free kick taken by Michael Rose.43:56
George Donnelly is caught offside. Danny Coles restarts play with the free kick.41:37
Jamie Cureton takes a shot. Blocked by Josh Lillis.40:26
Mark Molesley fouled by Ashley Grimes, the ref awards a free kick. Indirect free kick taken by Artur Krysiak.39:01
Foul by Bobby Grant on Jake Gosling, free kick awarded. Free kick taken by Craig Woodman.38:16
Ian Henderson takes a shot. Clearance by Jake Gosling.36:14
Free kick awarded for an unfair challenge on Pat Baldwin by George Donnelly. Indirect free kick taken by Artur Krysiak.35:04
Free kick awarded for an unfair challenge on Phil Edwards by Mark Molesley. Shane Cansdell-Sherriff takes the indirect free kick.33:32
Corner taken left-footed by Michael Rose from the right by-line to the near post, Jamie Cureton makes a clearance.32:20
Ashley Grimes takes a shot. Save made by Artur Krysiak.29:50
Ian Henderson has an effort at goal from close in which goes wide of the left-hand upright.27:47
Effort on goal by Ian Henderson from long range goes over the crossbar.26:21
Free kick awarded for a foul by Shane Cansdell-Sherriff on Guillem Bauza. Free kick taken by Craig Woodman.25:03
Jamie Cureton is ruled offside. Phil Edwards takes the free kick.24:22
Unfair challenge on Steve Tully by George Donnelly results in a free kick. Free kick taken by Artur Krysiak.20:34
Peter Cavanagh gives away a free kick for an unfair challenge on Mark Molesley. Arron Davies restarts play with the free kick.18:36
Jamie Cureton is ruled offside. Josh Lillis restarts play with the free kick.16:34
Handball decision goes against Steve Tully. Ian Henderson takes the free kick, Header from close in by Shane Cansdell-Sherriff bounces off the post.15:23
George Donnelly takes a shot. Save made by Artur Krysiak.12:06
Steve Tully concedes a free kick for a foul on Ian Henderson. Kevin McIntyre takes the free kick.5:46
Mark Molesley fouled by Peter Cavanagh, the ref awards a free kick. Jamie Cureton produces a shot on goal direct from the free kick. Corner taken by Craig Woodman played to the near post, Close range effort by Danny Coles goes wide of the right-hand upright.3:59
Phil Edwards concedes a free kick for a foul on Guillem Bauza. Craig Woodman takes the free kick.2:46
Arron Davies takes a shot. Kevin McIntyre gets a block in.0:00
The match gets underway.
Live data and text provided by our data suppliers