Northampton moved up to fourth in the Premiership by beating Exeter 26-19 at Franklin's Gardens.
Ruben van Heerden's early score for Exeter was cancelled out by a Fin Smith penalty and Tommy Freeman's 30th-minute try as the hosts led 10-7 at the break.
Two Smith penalties extended the lead before Joe Simmonds took advantage of an Aaron Hinkley yellow card to score two tries in quick succession.
But another Smith penalty and Freeman's second try sealed Northampton's win.
Exeter got a losing bonus point after George Furbank missed a late penalty, but a third successive defeat leaves the Chiefs sixth in the table after seven matches.
Exeter had won on their past three visits to Franklin's Gardens and Van Heerden's early try after 15 phases of Chiefs pressure on the Saints line showed they were keen to make it four in a row.
But Smith replied with a penalty in a first half dominated by a tactical kicking battle, as Northampton's Fraser Dingwall had a 19th-minute try disallowed after a knock-on in the build-up, before Freeman took a quick-tap penalty from a couple of metres out to go over 11 minutes later.
Smith kicked two penalties in the first 10 minutes of the second period to put Saints nine points clear, before Hinkley was sin-binned for a dangerous tackle following a head-on-head clash with Chiefs scrum-half Jack Maunder.
Exeter were over soon after as they won the ball from a Saints lineout close to the hosts' line and eight phases later Simmonds scored in the opposite corner, before the Exeter fly-half charged down Fraser Dingwall's kick five minutes later and he sprinted in from half-way.
But Exeter's indiscipline cost them - they conceded 15 penalties on the night and Smith kicked a fourth to put the sides level at 19-19 with 13 minutes left.
Four minutes later, Freeman darted into the left corner after some patient play from a close-range maul as Phil Dowson's side won for the fourth time in five Premiership matches.
Northampton director of rugby Phil Dowson:
"There was very heavy dew and the conditions were wet underneath so the game was scrappy and we had to do a lot of ugly work.
"It was very tight for a long time and we showed great resilience at the end, but the performance was gritty and not in any way typical Saints.
"In the opening 20 minutes they hemmed us in and put us under pressure and it certainly wasn't a night to play an expansive game."
Exeter head coach Ali Hepher told BBC Radio Devon:
"To get a bonus point from the position we were in was obviously pleasing at that stage.
"We got ourselves in it, we were in the fight and we got a little bit naïve to give them the shot back into it, whether it was the penalty or our maul defence at the end.
"I'm pleased with the attitude of the players. We were right in the fight, and if we maintain that we'll iron our all these little errors around the field and we'll get better."
Northampton: Freeman; Skosan, Dingwall (capt), Hutchinson, Sleightholme; Smith, James; Iyogun, Haywood, Painter, Salakaia-Loto, Moon, Scott-Young, Hinkley, Graham
Replacements: Smith, Waller, Hill, Nansen, Sylvester, Mitchell, Furbank, Proctor
Exeter: Hodge; John, O'Loughlin, Whitten, Woodburn; J Simmonds, J Maunder; Sio, Yeandle (capt, Williams, Dunne, van Heerden, Ewers, Pearson, Vermeulen
Replacements: Innard, Hepburn, Iosefa-Scott, Jenkins, Tuima, S Maunder, Becconsall O'Brien
Referee: Craig Maxwell-Keys