League Two leaders Gillingham suffered a shock defeat as Jamie Cureton's late header earned Exeter victory.
Chris Whelpdale gave the Gills an early lead from close range, but Alan Gow's free-kick levelled the scores.
Cureton's close-range shot put City in front before Danny Jackman equalised from 30 yards.
Veteran striker Cureton saw his penalty easily saved by Stuart Nelson but moments later made amends from Liam Sercombe's cross.
VIEW FROM THE DRESSING ROOM
Gillingham manager Martin Allen told BBC Radio Kent:
"We've had some turns that have gone in our favour but tonight it was cruel and hit us hard. We left ourselves a bit too open and gung-ho.
"A point would have been a good point at that stage, but we had so many attacking players on the pitch we couldn't influence it from the bench because it happened so quickly.
"It's a difficult one to swallow, but I thought the lads gave everything they've got and there's nothing to be too disheartened about."