Matt Banahan secured a dramatic last-gasp victory for Bath as they climbed to second place in the Guinness Premiership. The juggernaut England Saxons wing struck with just 52 seconds remaining of a feisty encounter.
Banahan caught centre Alex Crockett's kick as Sale ran out of defensive numbers, claiming a try that dashed Sharks' victory hopes. Sharks fullback Mark Cueto, who has not played Test rugby since last year's World Cup final, looked to have kept his team firmly in the Premiership play-off picture by scoring two tries.
Centre Luke McAlister also touched down and kicked a penalty and conversion in a game when the lead changed hands seven times. Referee David Rose though, had arguably the busiest afternoon of anyone.
Rose sin-binned three players during a tetchy first-half - Sharks lock Sebastien Chabal, his team-mate Stuart Turner and Bath skipper Michael Lipman. Chabal though, was fortunate not to see a red card when the red mist descended and he fought off the ball with Bath scrum-half Michael Claassens.
Number eight Daniel Browne scored a first-half try for Bath, and while fly-half Butch James kicked 14 points, he also missed three penalties that would have cost his team victory had Banahan not struck in such dramatic fashion.
Sale, boosted by the return of Lions Dwayne Peel and Jason White, were in no mood to sit back and watch Bath's renowned all-singing, all-dancing running game. The hard-hitting Chabal and his fellow forwards adopted a route one approach, knocking Bath backwards through their impressive driving play.
Chabal and opposite number Justin Harrison were lectured by Rose after an early dust-up, but the Frenchman did not learn his lesson. Just minutes later - after McAlister had rounded off a flowing move sparked by Peel's pace and alertness - Chabal became involved in an ugly skirmish with Claassens.
When the dust eventually settled, Chabal was sin-binned, but he cut an animated figure on the touchline, incensed at what he clearly perceived was undetected Bath foul play. Just to darken Chabal's mood even further, Bath took two barely minutes to capitalise on his absence when Browne emerged from under a pile of bodies for a touchdown that James converted.
And Sale were then briefly reduced to 13 men when prop Turner received a yellow card for deliberate offside, with James slotting the resulting penalty as Bath moved 10-5 ahead. Chabal returned to an inevitable chorus of boos - and another warning from Rose to calm down - but the game continued simmering.
Lipman became the third player sin-binned in 14 minutes following a late tackle on Hodgson, and Sale regained the lead during his absence. A brilliant Claassens tackle denied Sharks wing David Doherty, but Sale then struck during injury-time when McAlister's pass found Cueto, who crossed under pressure from Bath full-back Nick Abendanon.
McAlister arrowed an angled conversion through the posts, yet Bath stole a 13-12 interval advantage through James' second penalty after Sale's backs drifted offside. McAlister and James exchanged penalties early in the second-half - the Bath number 10 prospering when Chabal was punished for a lineout challenge on Harrison - as both packs continued pummelling each other.
Attacking opportunities were at a premium during the third quarter, which Bath ended one point ahead, but only following a sustained spell of Sale pressure. The visitors though, were not to be denied and they collected an exquisite third try after Hodgson's pass was collected by Cueto, who weaved his way through Bath's defence.
McAlister's conversion attempt hit the post, before James missed his third penalty and Sale maintained a four-point lead entering the closing stages. James cut that gap to a point by striking his fourth successful penalty, and then it was all hands to the pump for Sale as they manned the defensive barricades.
Time though, ultimately ran out for them with Banahan administering a killer blow that underlined Bath's status as major Premiership title contenders.
Sale Sharks boss Philippe Saint-Andre was left to bemoan a punishing penalty count against his team. "We were penalised 15 times against five. You want consistency from the referee, but there wasn't any," he said. "I am so very, very disappointed. When the penalty count is 15-5 against you, it is very difficult. We were penalised when we had the ball, we were penalised when were in defence and we were penalised in the scrum.
"We came here to win and to be physical, and it was a fantastic game of rugby. I cannot blame my players - the only thing we didn't do was control the last three minutes of the game."
Bath head coach Steve Meehan said: "That is an important win for us. We are not playing as well as we can, but we have become quite a resilient side. In a competition as tough as the Premiership, teams are not going to go through many, many games without experiencing a rough trot. If we are going through our rough trot, but still winning, then that is a nice position to be in."
Bath: Abendanon; Maddock, Crockett, Fuimaono, Banahan; James, Claassens; Barnes, Mears, Stevens, Harrison, Short, Faamatuainu, Lipman (capt), Browne.
Replacements: Dixon, Bell, Hooper, Beattie, Bemand, Hape, Cuthbert.
Sale: Cueto; Bell, Tuilagi, McAlister, Doherty; Hodgson, Peel; Sheridan, Briggs, Turner, Chabal, Schofield, White, Abraham, Lobbe.
Replacements: Jones, Faure, Cockbain, Fearns, Wigglesworth, Keil, Tait.