A match sporting Justin Harrison and Sébastien Chabal on opposing sides was never likely to overflow with seasonal goodwill. The game was barely 10 minutes old when the pair, marking each other in the second row, acted like rutting stags, and they set the tone for a thunderous encounter that saw the lead change seven times, three yellow cards brandished in a 14-minute period and another last-minute, match-winning try for the home side.
Harrison and Chabal should have been sent to the sin-bin, but referee David Rose opted for a lecture that neither player absorbed and they cost their sides tries before the end of the opening quarter.
Harrison was the first culprit, flopping lazily to the ground after a challenge near his own 10-yard line and not rolling away. Dwayne Peel took the penalty quickly and found Charlie Hodgson, whose deft pass left Luke McAlister with a free run to the line. Harrison was still picking himself up off the floor, but if the first round went to Chabal, the Sale second row was soon taking a count of 10 minutes after provoking a brawl. Rose was playing advantage after Chabal had charged through a ruck on his own line when McAlister clattered Harrison.
The Australian took exception to the challenge, but an outburst of petulance followed when Chabal punched Michael Claassens from behind, Alex Crockett reacted and when Rose separated the warring factions, the crowd expected Chabal to be shown more than a yellow card and he reluctantly left the field simulating a kick.
Bath kicked the resulting penalty to touch, drove the line-out and Damien Browne was shoved over the line. A Butch James penalty stretched Bath's advantage to five points. It was Bath, though, who took the lead into the interval when James's penalty in the ninth minute of stoppage time put his side 13-12 up. But this advantage lasted barely 60 seconds after the restart when McAlister landed a penalty from 40 yards.
James regained the lead for Bath after 48 minutes with his second penalty, but he and McAlister missed kickable opportunities as the match approached the final quarter. Sale were more resolute at forward and were alert to the home side's penchant for counter-attacking.
It was from one raid inside their own half that Bath fell behind again. Matt Stevens was dispossessed on halfway and Hodgson's deft pass sent away Cueto on a 40-yard run to the line. Bath were rocking, but James brought them back to within a point with his third penalty.
Sale were undone by two mistakes in the final minutes. First, Hodgson kicked directly into touch in his own 25 after a misdirected pass. Brent Cockbain stole the line-out throw, but his opposite number Stuart Hooper forced a turnover and the ball was moved to Crockett in front of the Sale posts 20 yards out.
The centre chipped a kick to the line where Matt Banahan took the ball from Cueto's clutches to dive over with 51 seconds left. Crockett's pass had set up the stoppage-time winning try against Leicester last month and this win took them above Gloucester into second.