Doncaster Rovers have lost the lead of League Two for the first time since January 3 after losing their final home game of the season to Exeter City.
The destination of the championship is now out of Rovers' hands following a third straight defeat, with Plymouth Argyle beating Crewe Alexandra to take top spot.
Goals from Jordan Moore-Taylor, David Wheeler and Liam McAlinden were enough for Exeter take the win which books their place in the play-offs.
James Coppinger had equalised for Rovers in the first half but they could not hold onto the lead.
It had been a sluggish start from Rovers but they recovered well and were in the ascendency as they headed into the break level.
But after falling behind again on 61 minutes, they endured a frustrating second half where they could not break down Paul Tisdale's side.
And they must hope results go their way on the final day of the season if a win over Hartlepool United is going to be enough to secure the title which has long looked to have their name on.
Darren Ferguson made two changes to the side that was beaten at Wycombe Wanderers. Mathieu Baudry was ruled out after undergoing an Achilles operation earlier in the week while Alfie May dropped to the bench. In came Joe Wright while Matty Blair was back from suspension.
Rovers endured another slow start to game as they struggled for cohesion in the opposition half. John Marquis, playing in a lone front man role, look isolated as Rovers lacked bodies in the final third.
The visitors on the other hand were energetic, closing space down superbly and sweeping forward quickly.
Exeter took the lead on 16 minutes with a stunning strike.
Ryan Harley laid off a free kick to Moore-Taylor 30 yards out and he drilled an unstoppable effort inside the left hand post.
Exeter had the bit between their teeth and almost added a second when Moore-Taylor drew a fine save from Lawlor after latching onto a loose ball seven yards out.
And Lloyd James struck an excellent volley narrowly over the bar from 20 yards.
Midway through the half, Rovers finally began to get a foothold in the game.
Tommy Rowe turned smartly on the edge of the box and drilled low only to see Christy Pym palm away well.
But they got their reward on 26 minutes.
Rowe chipped an excellent cross over the keeper to Coppinger who smashed in a side foot volley from the most tight of angles.
Rovers began to push into the final third with regularity and John Marquis tested Pym's alertness with a strike after beinging the ball down with a deft touch.
Exeter threatened mainly on the counterattack but looked dangerous.
Ollie Watkins drilled narrowly wide from just inside the box as half time neared.
Rovers had a sluggish start to the second half and suffered a major setback just after the hour.
Exeter attacked, Niall Mason cleared an effort on the line but as the ball came back in, Joe Wright handled on the line attempting to prevent a goal.
He was booked and Exeter awarded a penalty. Ryan Harley saw his spot kick saved by Lawlor but the Rovers keeper could not keep out Wheeler's follow up.
From there, Rovers endured an uphill battle, struggling to break down a resilient Exeter outfit. Real chances were few and far between over a difficult final half hour.
And he defeat was rubberstamped on 87 minutes. Craig Alcock was caught in possession and Ollie Watkins galloped clear before squaring to substitute who slotted past Lawlor.
The stadium emptied, with only a hardy few staying behind for the traditional end of season lap of honour.
The message was clear - Rovers are blowing the title race.
Rovers: Lawlor, Alcock, Wright (Mandeville 66), Butler, Mason, McCullough, Blair, Coppinger (Williams 71), Grant (May 79), Rowe, Marquis. Subs not used: Marosi, Taylor-Sinclair, Middleton, McSheffrey.
Exeter: Pym, Sweeney, Brown, Moore-Taylor, Wheeler, Taylor, James, Harley, Grant (Tillson 69), Reid (McAlinden 79), Watkins. Subs not used: Olejnik, Tillson, Holmes, Ampadu, Cross, Stacey.
Referee: Charles Breakspear (Surrey)
Attendance: 7,790 (667 away)