Gloucester missed the chance to close the gap on the Aviva Premiership top two as they fell short of Sale 36-31 at Edgeley Park on Friday.
Gloucester claimed the first try through Tim Molenaar but Paul Williams touched down for Sale and second-half scores from replacement Will Addison, Williams and Charlie Hodgson sealed a fine win.
An early penalty from Freddie Burns put the visitors ahead but a penalty from Hodgson soon got Sale off the mark and took him past the milestone of scoring over 1,000 points at Edgeley Park.
Gloucester scored a well-worked try in the 19th minute when Burns sent Molenaar over the line from close range. Burns converted but Hodgson kicked a penalty midway through the first half and added another on the half hour before Burns landed his second penalty from distance.
Sale then claimed their first try when Williams took a pass from Andy Tuilagi and dived over in the right corner. Hodgson added the extras before Burns booted another penalty to level the scores shortly after the restart.
Yet Hodgson soon restored Sale's lead with his fourth penalty and Addison then raced clear for Sale's second try.
Three minutes later it got better for Sale as Hodgson's pass fed the onrushing Williams to crash over the line.
Gloucester hit back with a penalty from Tim Taylor, but in the 64th minute Hodgson took a quick penalty tap and went over.
Four minutes later Jonny May took a long pass to cross in the right corner and Gloucester were awarded a penalty try in the dying embers of the game which Taylor converted to secure a losing bonus point.
Tries: Williams 2, Addison, Hodgson
Con: Hodgson 2
Pen: Hodgson 4
Tries: Molenaar, May, Penalty
Con: Burns, Taylor
Pen: Burns 3, Taylor
Sale: 15 Nick Macleod, 14 Ben Cohen, 13 Chris Bell, 12 Andy Tuilagi, 11 Paul Williams, 10 Charlie Hodgson, 9 Will Cliff, 8 Sisa Koyamaibole, 7 James Gaskell, 6 Sean Cox, 5 Wame Lewaravu, 4 Chris Jones, 3 Henry Thomas, 2 Neil Briggs, 1 Eifion Lewis-Roberts.
Replacements: 16 Marc Jones, 17 Lee Imiolek, 18 Simon McIntyre, 19 Nic Rouse, 20 Neil McMillan, 21 Chris Leck, 22 Iain Thornley, 23 Will Addison
Gloucester: 15 Olly Morgan, 14 Jonny May, 13 Henry Trinder, 12 Tim Molenaar, 11 Tom Voyce, 10 Freddie Burns, 9 Rory Lawson, 8 Luke Narraway (capt), 7 Akapusi Qera, 6 Alasdair Strokosch, 5 Alex Brown, 4 Dave Attwood, 3 Paul Doran-Jones, 2 Scott Lawson, 1 Nick Wood.
Replacements: 16 Olivier Azam, 17 Alasdair Dickinson, 18 Rupert Harden, 19 Will James, 20 Brett Deacon, 21 Jordi Pasqualin, 22 Tim Taylor, 23 Eliota Fuimaono-Sapolu.
Referee: Dean Richards
Assistant referees: Martin Buck, Paul Burton
Timekeeper: Mark Hamlin
Television match official: Tony Spreadbury