|Sale (9) 29|
|Try: Ioane, Addison Con: Ford, Cipriani Pens: Ford 3, Cipriani 2|
|Harlequins (13) 23|
|Try: Visser, Egerton Con: Botica 2 Pen: Botica 3|
|Relive Saturday's Premiership action|
Sale came from behind to maintain their 11-month unbeaten run at home and beat Harlequins 29-23 in the Premiership.
Tim Visser's try on the stroke of half-time gave the visitors the lead after Sale's Joe Ford and Quins counterpart Ben Botica exchanged penalties.
TJ Ioane drove over to put Sale ahead only for Botica to kick Quins level.
Will Addison's try and two Danny Cipriani penalties pulled the Sharks clear but Sam Egerton's late score earned Quins a losing bonus point.
|Saturday's other Premiership results|
|Saracens 15-20 Northampton|
|Gloucester 13-10 Wasps|
|Bath 25-17 London Irish|
Sale's victory means they remain unbeaten at home this season and have not lost at the AJ Bell Stadium since Quins beat them 25-23 last April.
It also brings them level on 38 points with Quins in the middle of the Premiership table in the quest to secure Champions Cup rugby for next season.
The visitors had the better of the first half but trailed to three penalties from Ford, playing his first Premiership game of 2015-16, before Visser raced clear to give Quins a 13-9 half-time lead.
Ioane touched down following a driving maul to put the Sharks in front and, after Botica and Cipriani exchanged penalties, Addison broke clear from Sam James' offload to effectively seal victory.
Botica's conversion of Egerton's late try ensured a bonus point for Harlequins, who lost wing Marland Yarde with a dislocated shoulder, but Sale held on to claim victory.
Sale director of rugby Steve Diamond:
"We haven't finished outside the top six for several years, which a lot of people forget about.
"This year and next year is our assault on getting into that top four. It will be a big ask, but that's what we're trying to do.
"We've got a different model to a lot of the other clubs. They have massive squads. We don't, but the beauty of that is we don't lose many to internationals.
"We can therefore stick together and do everything we've been doing. We've built a lot of momentum with that and we've been doing that for five years."
Harlequins boss Conor O'Shea:
"We knew it was going to be a tough window (without our international players), but everybody is beating everybody.
"If the players continue to play with the heart that they played with today, things will happen for them. You have tough times in seasons, you work your way through them and our job now is to win our next two home games."
Sale: Haley; Addison, James, Leota, Arscott; Ford, Cusiter; Lewis-Roberts, Briggs, Mujati, Evans, Ostrikov, Ioane, Seymour (capt), Easter.
Replacements: Taylor, Harrison, Cobilas, Mills, Neild, Stringer, Cipriani, Jennings.
Harlequins: Chisholm; Yarde, Hopper, Sloan, Visser; Botica, Tebaldi; Lambert, Ward, Sinckler, Merrick, Horwill (capt), Luamanu, Wallace, Easter.
Replacements: Buchanan, Evans, Collier, Matthews, Chisholm, Egerton, Marchant, Walker.
For the latest rugby union news follow @bbcrugbyunion on Twitter.