Late Luke James try sees Sale end Bristol's Premiership winning streak
Before the match kicked off there was a minute’s silence for former Bristol, England and British Lions hooker John Pullin, who has died at the age of 79.
The opening 15 minutes were fiercely contested but scoreless as Bristol’s running game was met with robust defence from the visitors, who preferred the kicking option of scrum-half Faf De Klerk to make ground.
Sale then suffered a setback when their captain Jono Ross was yellow-carded for sacking a line-out and Bristol immediately capitalised to score the opening try from the next, with Byrne driving over.
Lloyd converted before MacGinty kicked two penalties in quick succession to put his side on the scoreboard.
Ross returned from the sin bin as Sale continued to frustrate their opponents, and after 33 minutes it was the visitors who took the lead when MacGinty fired over a penalty from halfway.
A minute before the interval, Bristol had the chance to regain the initiative but instead of taking a kickable penalty, they opted for the driving line-out but they could not make it count and Sale held on for a 9-7 interval lead.
Three minutes after the restart, Sale nearly extended that advantage when hooker Curtis Langdon burst away from a line-out on halfway.
Sale lost the resulting five-metre scrum but they picked up the only score of the third quarter with a fourth penalty from MacGinty.
However, the home scrum continued to be stronger, winning a number of penalties, two of which Lloyd kicked to put his side in the box seat but Sale were not to be denied.
MacGinty missed the conversion but succeeded with a last-minute penalty to seal victory.
Sign up to our mailing list for a weekly digest from the wide world of rugby.Sign Up Now