The Shakers were in 20th place before last Saturday's game against Northampton but three wins in a week have propelled them up to 11th, seven points off the top seven with five games left.
Chris Hussey broke the deadlock with a 65th-minute free-kick before Exeter captain Danny Coles was sent off five minutes later.
Substitute Tom Soares then struck in stoppage time as Bury made it three straight wins for the first time this season.
After climbing into the top half in midweek, the Shakers played like a side with the pressure off, putting together some neat passing moves.
They resulted in Dan Nardiello twice going close against his former club while Danny Mayor's shot was parried by Exeter goalkeeper Artur Krysiak and Chris Sedgwick fired over.
Pablo Mills' wayward pass almost gifted the Grecians the lead as Liam Sercombe's shot was blocked by keeper Brian Jensen.
But Bury replied with Mayor again testing Krysiak and the hosts remained on top after the break.
Andrew Tutte's strike was saved by Krysiak while Sedgwick's shot was deflected wide and Nardiello could not keep his close-range effort down.
Mayor then won a free-kick 25 yards out and Krysiak was unable to stop Hussey's left-footed strike going into the bottom corner.
Coles was booked for the foul and was shown a second yellow card for another foul just five minutes later.
Danny Rose went close to doubling Bury's lead but fellow sub Soares turned in Mayor's late cross to leave Exeter looking over their shoulder.