Premiership leaders Exeter registered a sixth straight win to further damage Northampton Saints' play-off chances.
Converted tries from Sean Lonsdale and Jannes Kirsten put Exeter 14-0 up, but David Ribbans and Henry Taylor crossed for Northampton before the break.
Dan Biggar added the extras from Ribbans' second score to give Saints the lead soon after the restart.
But after Gareth Steenson kicked a penalty, Tom O'Flaherty's late effort gave the Chiefs the victory.
Exeter, who are on the brink of securing a top-four spot, looked set for a comfortable evening when flankers Lonsdale and Kirsten both broke through the home defence in the opening 12 minutes.
But Ribbans crashed over on the half-hour mark, and Taylor put Northampton only two points behind after gathering an offload from James Fish and scampering in.
Saints seized the momentum again three minutes into the second half when Ribbans powered through after good work from Rory Hutchinson and Biggar in the build-up, with Wales international Biggar converting for a 19-14 lead.
Yet a committed display kept Exeter within touching distance, with Steenson's penalty midway through the half reducing the arrears.
And the Chiefs grabbed the score which moved them 15 points clear of second-placed Bristol nine minutes from time when they spread the ball to the left and O'Flaherty showed quick feet to cross the line from close range.
Northampton have lost four of their five games since the restart and have now suffered six consecutive league defeats at Franklin's Gardens - their worst run in the Premiership.
Saints are six points off the top four ahead of the rest of the weekend's action, and their hopes of a play-off place seem distant given their lack of form.
Northampton director of rugby Chris Boyd told BBC Radio Northampton:
"They are a very clinical side. They don't give you many opportunities, and we made three errors which led to three tries.
"We worked ourselves into a lead after half-time but perhaps over-managed the game and stopped playing a bit.
"I can't fault the effort - we just made a couple too many mistakes and paid for it against a relentless side.
"We are probably out of the running for the top four now so can reset what we want to do."
Exeter director of rugby Rob Baxter told BBC Radio Devon:
"You've got to be massively proud when a changed-up side stick at it in tough circumstances.
"What will have improved us tonight is that the guys would have had to work exceptionally hard and had a test of character.
"In a way we can be a funny side. We have periods of momentum but sometimes it is quite hard to maintain that intensity for long periods.
"What can sometimes happen is you get your period of pressure at the end of the game and capitalise on it, and that is what we did."
Northampton Saints: Furbank; Tuala, Proctor, Hutchinson, Collins; Biggar, Taylor; Van Wyk, Fish, Franks, Ribbans, Ratuniyarawa, Lawes, Tonks, Harrison (capt).
Replacements: Matavesi, Auterac, Hill, Isiekwe, Adendorff, Mitchell, Francis, Naiyaravoro.
Exeter Chiefs: Hodge; O'Flaherty, Dollman, Hendrickson, Baldwin; Steenson, Hidalgo-Clyne; Hepburn, Yeandle (capt), Francis, Dennis, Skinner, Kirsten, Lonsdale, Armand.
Replacements: Innard, Keast, Petch, Price, Capstick, Snow, Skinner, Wyatt.
Referee: Luke Pearce.