Sale survived Rob du Preez's first-half red card to overcome Gloucester and keep their play-off bid on course.
Fly-half Du Preez was sent off after only 23 minutes for a tip tackle on Gloucester prop Val Rapava-Ruskin.
At the time Sale led 12-5 through tries from Faf de Klerk and Arron Reed, with Jonny May replying for Gloucester.
Marland Yarde's try extended the lead before Gloucester's Santiago Carreras and Willie Heinz went over to salvage a losing bonus point for the visitors.
Gloucester thought they had pinched the game with a late try from Mark Atkinson but replays revealed a knock-on before the ball fell to him.
It was a 12th defeat of the season for the Cherry and Whites, who remain 11th in the Premiership, and they only seriously broke down Sale's defence when they were chasing the game.
Sale, who stay third, four points behind Exeter in second, saw a series of drives for the line in the closing minutes fail as they missed out on a four-try bonus point.
But having played a man down for so long, victory itself was an impressive achievement as Alex Sanderson's side bounced back from defeat in their Champions Cup quarter-final at La Rochelle last weekend.
Sale: L James; Reed, S James, Van Rensburg, Yard; R Du Preez, De Klerk; Harrison, Van Der Merwe, Oosthuizen, Wiese, JP Du Preez, JL Du Preez, T Curry, D Du Preez.
Replacements: Langdon, Morozov, Harper, Phillips, Neild, Cliff, MacGinty, Hammersley.
Gloucester: Carreras; Rees-Zammit, Harris, Atkinson, May; Barton, Chapman; Rapava-Ruskin, Singleton, Balmain, Slater, Craig, Clement, Ludlow, Ackermann.
Replacements: Walker, Seville, Ford-Robinson, Garvey, Morgan, Heinz, Twelvetrees, Moyle.
Referee: Adam Leal (RFU)