Sale Sharks survived a spirited second-half fightback from Bath as they edged to victory and got their Premiership season off to a winning start.
Akker van der Merwe opened the scoring for Sale and Byron McGuigan also crossed as they led 17-3 at half-time.
Juan Schoeman clawed Bath back to within four points as he went over following two Danny Cipriani penalties.
Two Orlando Bailey penalties edged Bath 19-17 ahead but Kieran Wilkinson's late kick from the tee won it for Sale.
With Faf de Klerk away on international duty, Sale fielded young 20-year-old Raffi Quirke at scrum-half and he made the difference in a dominant first half for the hosts.
Having exploited a gap in the Bath defence, he offloaded to send McGuigan through for Sale's second score of the game.
The only blip on an impressive first half for Sale was Simon Hammersley being sent to the sin-bin just before half-time for not releasing on the try line, which led to Cipriani's opening points for Bath.
Cipriani made his Bath debut against his former side as they travelled to last season's Premiership semi-finalists without Anthony Watson and Taulupe Faletau, who were still absent due to being away with the British and Irish Lions over the summer.
Bath made a creditable comeback after the break, with Bailey's crucial kicks giving them hope of snatching victory with just five minutes remaining.
But Wilkinson's decisive intervention came soon after the restart as Sale won a penalty inside Bath's 22, leaving the 21-year-old to kick them to victory.
Sale: Hammersley, McGuigan, James, Tuilagi, Yarde, R Du Preez, Quirke; Rodd, Van der Merwe, Schonert, Wiese, J Du Preez, Neild, B Curry, Ross (c).
Replacements: Taylor, Harrison, Ford, Birch, Dugdale, Cliff, Wilkinson, Janse van Rensburg.
Bath: De Glanville, Rokoduguni, Joseph, Ojomoh, Muir, Cipriani, Spencer; Obano, Dunn, Jonker, Williams, Ewels (c), Reid, Underhill, Bayliss.
Replacements: Du Toit, Schoeman, Rae, Ellis, Coetzee, Fox, Bailey, Clark.