Rochdale threw a spanner in the works of Exeter's promotion hopes with two late goals in a 2-1 win at St James' Park.
Dale had the better of the early chances and Shane Cansdell-Sherriff missed a glorious opportunity to put the visitors in front when Exeter goalkeeper Artur Krysiak dropped a cross and the midfielder headed against the upright.
Exeter's best chances fell to Jamie Cureton, who forced a smart stop from Josh Lillis, before he opened the scoring on the stroke of half-time.
The veteran striker controlled a Jake Gosling cross superbly before firing the ball into the bottom corner for his 21st goal of the campaign.
Dale dominated the second half but they had to wait until the 87th minute before finding an equaliser. Ian Henderson's shot took a huge deflection off the head of Exeter midfielder Mark Molesley and nestled in the corner of the net with Krysiak desperately back-pedalling towards his own goal.
The turnaround was complete in stoppage time when Molesley gave the ball away and Dale broke quickly, the ball was played through to Bobby Grant who finished in style to claim the surprise victory.