The win lifts Worcester ten points clear of bottom club Northampton Saints, who have to play leaders Leicester tomorrow.
At the end, they were left cursing some sloppy play, as the bonus point was there for the taking against a severely weakened Sale side missing 14 players.
A sell-out 8,477 crowd saw the Warriors get the beating of Sale up front and they made it count with 3 tries.
James Brown added two penalties and a conversion for Worcester while Sale hit back with a try, a penalty and conversion from Mike Hercus.
Worcester made a perfect start when Giscard Pieters crashed over with just two minutes on the clock. Worcester stole the ball from a line-out and put phase after phase together before the South African wing crashed over. Sale had hardly touched the ball.
Craig Gillies was a contstant thorn in the Sale set piece, and it was his good work that gave James Brown a penalty attempt.
Brown failed to land it, but Worcester were not to be denied for long and Samoan Siaosi Vaili made his presence felt as, after more pressure, the Samoan finished off another fine Worcester move.
This time Brown was on hand to extend the lead with the conversion as second-placed Sale looked destined for a hiding.
Hercus punished some loose Worcester play with a penalty, but it was a flash in the pan for the Mancunians.
Seconds before the break Thinus Delport went on a mazy run and danced in on the right for a 17-3 half-time lead.
Brown extended the advantage with a 52nd-minute penalty following Pierre Caillet's inability to roll away from a ruck, and extended the lead to twenty points with another penalty shortly after.
Sale hit back late on with a driven try from hooker Roddam, which Hercus converted, but it was too little too late for the Sharks.
For Worcester:Tries: Pieters, Vaili, DelportCons: Brown Pens: Brown 2
For Sale:Try: RoddamCon: HercusPen: Hercus
Worcester Warriors: 15 Thinus Delport, 14 Giscard Pieters, 13 Dale Rasmussen, 12 Thomas Lombard, 11 Daren O’leary, 10 James Brown, 9 Matt Powell, 8 Brad Macleod-Henderson, 7 Pat Sanderson (capt), 6 Drew Hickey, 5 Craig Gillies, 4 Tim Collier, 3 Chris Horsman, 2 Andre Van Niekerk, 1 Tony Windo.Replacements: 16 Lee Fortey, 17 Phil Murphy, 18 Ben Daly, 19 Siaosi Vaili, 20 Neil Cole, 21 Tommy Hayes, 22 Gary Trueman.
Sale Sharks: 15 Steve Hanley, 14 Chris Mayor, 13 John Payne, 12 Chris Rhys Jones, 11 Richard Wigglesworth, 10 Mike Hercus, 9 Bryan Redpath (c), 8 Sebastien Chabal, 7 John Carter, 6 Pierre Caillet, 5 Dean Schofield, 4 Chris Day, 3 Barry Stewart, 2 Johnny Roddam, 1 Stuart Turner Replacements: 16 Sebastien Bozzi, 17 Ben Coutts, 18 Peter Anglesea, 19 Magnus Lund, 20 Sililo Martens, 21 Matt Riley, 22 Jason Duffy
Referee: Tony SpreadburyTouch judges: Lloyd Jackson, Andy MelroseAssessor: Ed MorrisonTelevision match official: Geoff Warren