Sale produced their most complete performance of the season so far to overpower Northampton with three tries.
Chris Ashton's interception opened the scoring before Rohan Janse van Rensburg's try restored the lead.
Akker van der Merwe was then driven over to put the game beyond Saints.
Northampton, who slipped to second in the Premiership after starting the day top, drew level through Lewis Ludlam's first-half try but they had no answer to Sale's dominant forward pack.
Saints have impressed so far this season with free-flowing rugby but came badly unstuck over the past fortnight in back-to-back pool matches against Leinster in the European Champions Cup.
Here, they again struggled to compete physically and their line-out malfunctioned, twice at crucial junctures.
They gifted Sale the opening try when scrum-half Cobus Reinach, himself the scorer of several interception tries last season, threw a pass on his own 22 that was picked off by Ashton to run unopposed under the posts.
Saints drew level at half-time when Ludlam burrowed over but Sale completely controlled the second half and retook the lead as Janse van Rensburg ghosted between two defenders and cut back inside to dive under the posts.
A perfectly executed driving maul then saw hooker Van der Merwe driven over to seal Sale's third league victory of the season to move into the top four.
They should have earned a bonus point but wasted several excellent opportunities to add a fourth try.
Sale director of rugby Steve Diamond:
"Against a side that have been playing well all season and have scored more tries than anybody, I think we managed to look after them in defence quite well.
"We know they're good in the first two or three phases, they scored that try where we missed a one-on-one tackle but, apart from that, I thought we handled them quite well.
"I think we've got a squad to operate at the top end of the division. We're touching the top-four and top-four at Christmas was always a little bit of a target."
Northampton director of rugby Chris Boyd:
"We had opportunities with territory and coughed the ball up pretty meekly and we got sucked into an arm wrestle and that we didn't want to have.
"They forced us to go into spaces we didn't want to go and didn't play the game we didn't want to play.
"Guys were spooked into poor execution and poor decisions under pressure and we need to get better at that."
Sale: Hammersley; Ashton, James, Van Rensburg, McGuigan; Du Preez, De Klerk; Oosthuizen, Van der Merwe, John, Evans, Phillips, Ross (capt), T Curry, Du Preez.
Replacements: Langdon, Harrison, Cooper-Woolley, Postlethwaite, B Curry, Cliff, MacGinty, Solomona
Northampton: Furbank; Collins, Proctor, Hutchinson, Naiyaravoro; Biggar, Reinach; Waller (co-capt), Haywood, Painter, Moon, Ratuniyarawa, Lawes, Ludlam, Harrison (co-capt)
Replacements: Matavesi, Van Wyk, Franks, Bean, Eadie, Tupai, Francis, Tuala