Bristol ended a run of four successive Premiership defeats as they continued Sale’s away-day blues by winning 32-15 at Ashton Gate.
Sale have not claimed a league win on the road this season and Bristol extended that sequence with the help of three first-half tries.
Full-back Luke Morahan, deputising for the injured Charles Piutau, scored twice while hooker Will Capon also crossed, with Bristol posting two of their scores while Sale flanker Tom Curry was in the sin-bin.
Fly-half Callum Sheedy kicked two penalties and three conversions, before substitute scrum-half Andy Uren added a late bonus-point try.
Sale were unable to build on a solid first 40 minutes when hooker Ewan Ashman and centre Robert Du Preez scored tries as they failed to register a point in the second period.
AJ MacGinty, who will join Bristol next season, booted a penalty and a conversion, yet it proved a frustrating night for Sale after they saw two second-half tries disallowed for knock-ons.
Bristol boss Pat Lam made four changes following last weekend’s defeat at Exeter, calling up Capon, wing Henry Purdy, prop Max Lahiff and lock John Hawkins.
Sale welcomed back Curry after victory over Wasps six days ago, with skipper Jono Ross and No 8 Daniel Du Preez lining up as his back-row colleagues, while Sam James started in the centre.
The visitors made a strong start and went ahead after four minutes through an outstanding try. MacGinty breached Bristol’s defence and had Robert Du Preez on his shoulder in support, before Marland Yarde put Ashman away for what was an immediate statement of intent.
Bristol produced a swift response with Capon touching down following a drive from a lineout after Curry had been yellow-carded for a technical infringement.
Sheedy converted for a 7-5 advantage after 10 minutes.
Bristol had the bit between their teeth and claimed a second try as Sale struggled to cope without Curry. Sam Bedlow’s long pass found Morahan in space and he applied a clinical finish.
It proved an expensive yellow card, as Bristol scored 12 unanswered points while Curry was off, yet the visitors drew level eight minutes after his return, with Robert Du Preez rounding off a flowing move, and MacGinty’s conversion tying things up.
Morahan’s second try, converted by Sheedy, restored Bristol’s lead before a MacGinty penalty narrowed the gap to four points.
Sheedy opened Bristol’s second-half account through a long-range penalty and when he repeated the feat approaching the end of an error-strewn third quarter, Sale were 10 points adrift.
It looked like the Sharks had narrowed the deficit when full-back Luke James won a kick and chase to touch down but the score was ruled out for a knock-on earlier in play after Barnes consulted television match official Tom Foley.
James’ brother Sam then had a try chalked off for a knock-on by substitute Simon Hammersley and there was no way back for Sale after that as Bristol recorded their first Premiership win for two months.