Sale climbed to fifth in the Premiership as AJ MacGinty’s reliable kicking helped them see off fourth-placed Harlequins.
Mike Brown became Quins’ all-time record try-scorer with his 90th for the club but it was in a losing cause.
USA international MacGinty slotted seven penalties and a conversion to add to Byron McGuigan’s try.
Defeat for Harlequins is their third in succession, having previously won five in a row.
Quins made a flying start and Brown went over within five minutes after a fine break from halfway by fellow England man Danny Care.
Care then raced away again two minutes later but was held up brilliantly over the try line by Faf De Klerk.
Sale rallied and took the lead with MacGinty kicking three penalties, but Quins went back ahead when Jack Clifford collected a Care chip and touched down in the corner with Sale appealing unsuccessfully for obstruction.
MacGinty slotted another penalty to reduce the lead before McGuigan intercepted a Demetri Catrakilis pass and raced away to give Sale a half-time lead.
A fifth successful MacGinty penalty from five early in the second half started the second-half scoring before replacement Marcus Smith replied with three points for Quins, who then had Sinckler sin-binned for striking De Klerk in the chest off the ball.
MacGinty kicked another penalty before Matt Symons was yellow-carded in the closing moments for a foul with MacGinty adding another three points to seal victory.
Sale director of rugby Steve Diamond said:
“I thought it was a good game – a proper game of rugby.
“We took some collateral damage with Rohan (Janse van Rensburg) with a hamstring and Bryn (Evans) with a cheekbone so it was a physical game, but overall I think we deserved to win.
“We had a sloppy start and we couldn’t cope with Danny Care and their hooker early doors and they got that try.
“But apart from that we got field position and, under pressure, they gave a lot of penalties away and AJ kept us ticking over.”
|Try: McGuigan Con: McGinty Pens: MacGinty 7|
|Tries: Brown, Clifford Cons: Catrakilis 2 Pen: Smith|
Sale: L James; Solomona, S James, Janse van Rensburg, McGuigan; MacGinty, De Klerk; Harrison, Webber, John, Evans, Phillips, Ross (capt), T Curry, Beaumont.
Replacements: Langdon, Morozov, Jones, Strauss, B Curry, Cliff, Redpath, Reed.
Harlequins: Brown; Earle, Alofa, Tapuai, Murley; Catrakilis, Care; Boyce, Crumpton, Sinckler, Symons, Horwill (co-capt), Clifford, Robshow (co-capt), Dombrandt.
Replacements: Ward, Auterac, Swainston, Glynn, Luamanu, Hidalgo-Clyne, Smith, Saili.
Referee: Wayne Barnes.