Match ends, Exeter City 2, Carlisle United 3.
Carlisle staged a dramatic second-half fightback to seal a League Two play-off place after a 3-2 win at Exeter.
Danny Grainger cancelled out Reuben Reid's ninth-minute opener for City before Jordan Moore-Taylor headed the Grecians in front at the break.
But Grainger converted his second penalty of the match to haul Carlisle level after 72 minutes and Jamie Proctor sent 735 travelling supporters into raptures with the winning header three minutes later.
The thrilling comeback means Carlisle will face Exeter again in the semi-finals of the play-offs.
Having already clinched a play-off place, Exeter took the lead when David Wheeler headed the ball into the path of Reid, who smashed the ball past Mark Gillespie.
But Carlisle were gifted a route back into the match after Ethan Ampadu handled in the box.
Grainger made no mistake from the spot, ramming the ball into the roof of the net.
The hosts regained the lead when Wheeler headed on Ryan Harley's corner and Moore-Taylor crashed home a diving header.
Carlisle launched a second-half blitz and were awarded a penalty after Pierce Sweeney was adjudged to have tripped Proctor.
Grainger sent Christy Pym the wrong way from the spot and the visitors sensed blood.
And when Tom Miller's long throw was hurled into the Exeter box, there was Proctor to head home from close range.
Match report supplied by the Press Association.
Line-ups
Exeter
Formation 3-5-2
- 30Pym
- 31Sweeney
- 39Brown
- 15Moore-Taylor
- 11Wheeler
- 25TaylorSubstituted forGrantat 80'minutes
- 26Ampadu
- 4JamesSubstituted forTillsonat 70'minutes
- 7HarleySubstituted forCrollat 70'minutes
- 33Reid
- 14Watkins
Substitutes
- 1Olejnik
- 6Tillson
- 10Holmes
- 12Grant
- 19McAlinden
- 28Stacey
- 29Croll
Carlisle
Formation 5-3-2
- 1Gillespie
- 23Miller
- 28Liddle
- 5Raynes
- 12GillespheySubstituted forBaileyat 45'minutes
- 3GraingerBooked at 89mins
- 4JoyceSubstituted forO'Sullivanat 71'minutes
- 17Devitt
- 10Adams
- 14IbehreSubstituted forMillerat 66'minutes
- 9Proctor
Substitutes
- 13Tomlinson
- 16Bailey
- 18O'Sullivan
- 19Lambe
- 20Miller
- 22Crocombe
- 27Waring
- Referee:
- Steve Martin
- Attendance:
- 6,774
Match Stats
- Possession
- Home49%
- Away51%
- Shots
- Home9
- Away20
- Shots on Target
- Home3
- Away5
- Corners
- Home6
- Away15
- Fouls
- Home7
- Away12
Live Text
Post update
Full Time
Second Half ends, Exeter City 2, Carlisle United 3.
Post update
Corner, Carlisle United. Conceded by Jordan Moore-Taylor.
Booking
Danny Grainger (Carlisle United) is shown the yellow card for a bad foul.
Post update
Foul by Danny Grainger (Carlisle United).
Post update
David Wheeler (Exeter City) wins a free kick in the attacking half.
Post update
Corner, Exeter City. Conceded by Michael Raynes.
Post update
Foul by Michael Raynes (Carlisle United).
Post update
Reuben Reid (Exeter City) wins a free kick in the attacking half.
Post update
Corner, Carlisle United. Conceded by Christy Pym.
Post update
Corner, Carlisle United. Conceded by Jordan Moore-Taylor.
Post update
Attempt blocked. Shaun Miller (Carlisle United) right footed shot from the centre of the box is blocked.
Substitution
Substitution, Exeter City. Joel Grant replaces Jake Taylor.
Post update
Attempt missed. Michael Raynes (Carlisle United) header from the centre of the box is too high.
Post update
Tom Miller (Carlisle United) wins a free kick in the defensive half.
Post update
Foul by Ollie Watkins (Exeter City).
Goal!
Goal! Exeter City 2, Carlisle United 3. Jamie Proctor (Carlisle United) header from very close range to the bottom left corner. Assisted by Tom Miller.
Post update
Foul by Jamie Proctor (Carlisle United).
Post update
Troy Brown (Exeter City) wins a free kick in the defensive half.
Goal!
Goal! Exeter City 2, Carlisle United 2. Danny Grainger (Carlisle United) converts the penalty with a left footed shot to the top left corner.