Gloucester fought back from a nine-point half time deficit to fortify their footing at the Guinness Premiership summit with a 24-17 victory over Sale at Kingsholm.
The visitors led 17-8 at half-time, with Charlie Hodgson scoring 12 points, but the hosts fought back to take the lead just four minutes into the second period.
Gloucester took full advantage of the late first-half sin-binning of Sale's Lee Thomas, with Apolosi Satala touching down.
Olly Barkley kicked the resulting conversion and two further penalties before a Ryan Lamb drop-goal sealed victory for Gloucester to remain top of the standings.
The hosts may have been on top of the table before kick-off but these had been worrying times around Kingsholm due to a mid-season slump.
That saw them lose three of their last four matches, with last weekend's 23-21 home victory over London Irish only achieved by virtue of a late comeback.
In contrast, the Sharks have instilled some bite into their game and won their last three league games to lie just two points off Gloucester.
The Sharks, led by England fly-half Hodgson, devoured Gloucester's early mistakes.
Hodgson landed a 27-metre penalty before centre Thomas took a pass off wing Chris Bell to race 20 metres to the posts and give Hodgson the easiest of conversions.
Gloucester's first serious attack on the Sale line after 20 minutes got them their first points through a Barkley penalty from 25 metres.
But Gloucester sparked into action late in the first half.
Wing Mark Foster finished off a rousing attack, started by full-back Iain Balshaw and flanker Satala before the ball was whizzed across the back division to the left corner.
Gloucester were also denied two tries in the last couple of minutes, while Thomas was yellow-carded for a late tackle.
But the visitors defied their numerical disadvantage when Chris Jones intercepted Barkley's pass on his own 22.
The flanker charged towards halfway, passed out to Bell and, as he slowed, Hodgson was on hand to take the pass and run in from 30 metres. His conversion handed Sale a nine-point lead at the interval.
Within seconds of the re-start, Gloucester were over the Sale line for a second time.
A move down the left saw Barkley make ground, give the ball to wing James Simpson-Daniel for a quick flick to flanker Satala to rumble under the posts from 20 metres.
The hosts then took the lead as a second Barkley penalty gave them an 18-17 advantage.
Sale began to struggle as new Gloucester recruit Carlos Spencer orchestrated further probes into their territory. Barkley missed three long-range penalties inside 12 minutes but the pressure was beginning to tell on the visitors.
Replacement lock Brent Cockbain, the former Wales international, did Sale no favours when, within five minutes of replacing Sean Cox, he was sent to the sin-bin for killing the ball.
Barkley found the target with the 25-metre shot.
The England centre had a shot at sealing it for Gloucester with three minutes to go but his 35-metre penalty fell short before a 30-metre drop goal from Lamb, Spencer's replacement, finished off the Sharks.
Tries: Foster, Satala
Pen: Barkley 3
Tries: Thomas, Hodgson
Con: Hodgson 2
Gloucester: 15 Iain Balshaw, 14 Mark Foster, 13 Matthew Watkins, 12 Olly Barkley, 11 James Simpson-Daniel, 10 Carlos Spencer, 9 Rory Lawson, 8 Gareth Delve, 7 Andy Hazell, 6 Apo Satala, 5 Alex Brown, 4 Will James, 3 Greg Somerville, 2 Olivier Azam (c), 1 Nick Wood.
Replacements: 16 Andy Titterrell, 17 Jack Forster, 18 Adam Eustace, 19 Dan Williams, 20 Ryan Lamb, 21 Anthony Allen, 22 Charlie Sharples.
Sale Sharks: 15 Nick McLeod, 14 Chris Bell, 13 Luke McAlister, 12 Lee Thomas, 11 Oriol Ripol, 10 Charlie Hodgson, 9 Richard Wigglesworth, 8 Juan Martin Fernandez Lobbe, 7 Luke Abraham, 6 Chris Jones, 5 Sean Cox, 4 Dean Schofield, 3 Stuart Turner, 2 Sebastien Bruno, 1 Eifion Roberts.
Replacements: 16 Marc Jones, 17 Rob O'Donnell, 18 Brent Cockbain, 19 Neil Briggs, 20 Chris Leck, 21 Rudi Keil, 22 Selorm Kuadey.
Referee: Martin Fox
Touch judges: Martin Buck, Paul Emerson
Assessor: Steve Lander
Television match official: Andrew Turner