Match ends, Bolton Wanderers 1, Exeter City 2.
Pierce Sweeney headed a stoppage-time winner to earn play-off hopefuls Exeter a 2-1 victory and leave Bolton with work still to do to clinch automatic promotion in the final League Two game of the season.
The City defender climbed highest to glance home Jack Sparkes' free-kick to keep alive the Devon side's hopes of making the top seven.
Third-placed Wanderers needed a victory to book a quick return to League One and when Gethin Jones scored his third goal of the season after 15 minutes, the Trotters looked to be on their way.
Hundreds of Bolton fans outside the ground, ignoring club advice to stay away from the University of Bolton Stadium, thought so too, letting off fireworks in celebration.
But Exeter proved determined opposition with captain Jake Taylor and defender Sweeney peppering the home goal before half-time.
And when Randell Williams fired in a 49th-minute leveller for a fourth goal of the season, the promotion picture swung again.
Bolton's leading scorer Eoin Doyle headed over while Grecians striker Matt Jay chipped a great chance into the side-netting after 67 minutes.
Bolton brought on four substitutes and Exeter five replacements before Sweeney's goal five minutes into stoppage time settled a see-saw contest.
Match report supplied by PA Media.
- 5Almeida Santos
- 27BaptisteBooked at 32mins
- 4WilliamsBooked at 37mins
- 29LeeSubstituted forDelfounesoat 73'minutes
- 23IsgroveSubstituted forGnahouaat 62'minutes
- 10SarcevicSubstituted forThomasonat 62'minutes
- 30AfolayanSubstituted forMillerat 85'minutes
- 30KeyBooked at 27minsSubstituted forFisherat 86'minutes
- 34HartridgeBooked at 29mins
- 20PageSubstituted forSparkesat 64'minutesBooked at 84mins
- 11WilliamsSubstituted forCapriceat 86'minutes
- 8TaylorBooked at 78minsSubstituted forSeymourat 79'minutes
- 16WillmottBooked at 42minsSubstituted forAtanganaat 63'minutes
- Anthony Backhouse
- Shots on Target
Second Half ends, Bolton Wanderers 1, Exeter City 2.
Offside, Bolton Wanderers. Declan John tries a through ball, but Eoin Doyle is caught offside.
Goal! Bolton Wanderers 1, Exeter City 2. Pierce Sweeney (Exeter City) header from very close range to the bottom left corner. Assisted by Jack Sparkes with a cross following a set piece situation.
Foul by Nathan Delfouneso (Bolton Wanderers).
Jake Caprice (Exeter City) wins a free kick on the right wing.
Offside, Exeter City. Jack Sparkes tries a through ball, but Alex Fisher is caught offside.
Nathan Delfouneso (Bolton Wanderers) wins a free kick on the left wing.
Foul by Nigel Atangana (Exeter City).
Attempt missed. Arthur Gnahoua (Bolton Wanderers) left footed shot from outside the box is high and wide to the left. Assisted by Nathan Delfouneso.
Foul by Gethin Jones (Bolton Wanderers).
Archie Collins (Exeter City) wins a free kick on the left wing.
Foul by Ricardo Santos (Bolton Wanderers).
Alex Fisher (Exeter City) wins a free kick in the attacking half.
Attempt missed. Ben Seymour (Exeter City) header from the centre of the box is high and wide to the left. Assisted by Jack Sparkes with a cross.
Shaun Miller (Bolton Wanderers) wins a free kick in the defensive half.
Foul by Archie Collins (Exeter City).
Arthur Gnahoua (Bolton Wanderers) wins a free kick in the defensive half.
Foul by Jack Sparkes (Exeter City).
Substitution, Exeter City. Jake Caprice replaces Randell Williams.