Sale Sharks fought their way back from six point deficit at half time to beat Northampton Saints 29-21 at Edgeley Park on Friday.
Sale's superb start to the season continued with victory over a Northampton side that found itself reduced to 13 men in the second half.
Back-row duo, Calum Clark and Phil Dowson, were sent to the sin-bin in the space of two minutes by referee Tim Wigglesworth and Sale took advantage to complete a tremendous comeback.
Scrum dominance and the boot of Stephen Myler, who kicked all four attempts at goal in the first half, ensured that Saints held a 12-6 interval lead.
Sale were reduced to 14 men after Dwayne Peel was yellow-carded on 27 minutes.
Scrum-half Peel cynically kicked the ball out of Martin Roberts' hands when the fellow Welshman attempted a quick tap and go.
But Sale only conceded three points while their talisman was off the pitch, with MacLeod keeping Sale in touch at the break with his second penalty a minute before half-time keeping the gap to six points.
Myler added two penalties to MacLeod's one in the early stages of the second half, during which time Sale's new signing Sam Tuitupou made his belated debut after finally resolving visa issues.
Mark Easter burrowed over from close range despite pressure from Paul Diggin and Myler to haul Sale back into the game, but the real turning point came when Clark and Dowson were shown yellow cards (for obstruction and kicking the ball away) as Saints lost their composure.
Peel sniped over for Sale's second try with 11 minutes remaining and skipper Dave Seymour, who led from the front all night, added another to make it three wins on the trot for Sale - and three straight losses for the Saints.
Final Score Sale Sharks 21 Northampton Saints 29
Tries: Easter, Peel, Seymour
Pens: MacLeod 4
Pens: Myler 7
Referee: Tim Wigglesworth (37th Premiership game)
Sale Sharks: 15 Rob Miller, 14 Tom Brady, 13 Andrew Higgins, 12 Will Addison, 11 Joaquin Tuculet, 10 Nick Macleod, 9 Dwayne Peel, 8 Mark Easter, 7 David Seymour (capt ), 6 James Gaskell, 5 Kearnan Myall, 4 Fraser McKenzie, 3 Henry Thomas, 2 Marc Jones, 1 Lee Imiolek.
Replacements: 16 Tommy Taylor, 17 Aston Croall, 18 Vadim Cobilas, 19 Tom Holmes, 20 Neil Briggs, 21 Scott Mathie, 22 Sam Tuitupou, 23 Charlie Amesbury.
Northampton Saints: 15 Jon Clarke, 14 Paul Diggin, 13 Tom May, 12 James Downey, 11 Noah Cato, 10 Stephen Myler, 9 Martin Roberts, 8 Phil Dowson (capt), 7 Ben Nutley, 6 Calum Clark, 5 Christian Day, 4 Samu Manoa, 3 Brian Mujati, 2 Brett Sharman, 1 Paul Doran Jones.
Replacements: 16 Mike Haywood, 17 Alex Waller, 18 Tom Mercey, 19 Mark Sorenson, 20 James Craig, 21 Stuart Commins, 22 Ryan Lamb, 23 Scott Armstrong.