Bath made it five victories out of six so far in the Premiership season as they pulled away from Sale, winning 30-3 at the Recreation Ground.
Matt Banahan's early score was followed by tries from Kahn Fotuali'i and Kane Palma-Newport, with George Ford kicking each of his efforts at goal.
Sale's only reply came from the boot of Will Addison off the tee, but Bath's try-scoring bonus point remained just out of reach despite the home side continuing to play until the 87th minute.
Bath's Banahan opened the scoring after just three minutes, as Ford's clever handling sent him through to get his 50th Premiership score. Ford nailed the touchline conversion.
Addison opened Sale's account with a penalty, before Ford replied immediately with a simple effort from in front of the posts.
After the break, England international Ford slotted two more kicks, the latter of which took him through the 800-point barrier in the Premiership.
As Sale looked to play out from their own 22, replacement scrum-half James Mitchell failed to find his target and the loose ball was pounced on by his opposite number Fotuali'i who ran home under the posts. Ford added the extras as Bath went in search of an unlikely try-scoring bonus point, with the score at 23-3 with 18 minutes left to play.
Bath went close through Zach Mercer who knocked on but from a lineout moments later, Palma-Newport picked off Josh Beaumont's knock back before stepping past Mike Haley and carrying over. Ford slotted from wide on the left.
Referee Tom Foley was forced to brandish a yellow card late on in the game, as he showed Johnny Leota to the sin-bin after a fracas with Aled Brew off the ball.
Tries: Banahan, Fotuali’i, Palma-Newport
Cons: Ford 3
Pens: Ford 3
Bath: 15 Tom Homer, 14 Semesa Rokoduguni, 13 Jonathan Joseph, 12 Matt Banahan, 11 Aled Brew, 10 George Ford (cc), 9 Kahn Fotuali’i, 8 Zach Mercer, 7 Tom Ellis, 6 Matt Garvey (cc), 5 Dave Attwood, 4 Elliott Stooke, 3 Henry Thomas, 2 Tom Dunn, 1 Nathan Catt
Replacements: 16 Ross Batty, 17 Nick Auterac, 18 Kane Palma-Newport, 19 Charlie Ewels, 20 Guy Mercer, 21 Chris Cook, 22 Adam Hastings, 23 Jeff Williams
Sale: 15 Byron McGuigan, 14 Will Addison, 13 Sam James, 12 Johnny Leota, 11 Paolo Odogwu, 10 AJ MacGinty, 9 Mike Phillips, 8 Josh Beaumont (c), 7 David Seymour, 6 Cameron Neild, 5 Jonathan Mills, 4 Bryn Evans, 3 Brian Mujati, 2 Neil Briggs, 1 Eifion Lewis-Roberts
Replacements: 16 Ross Harrison, 17 Halani Aulika, 18 Andrei Ostrikov, 19 Magnus Lund, 20 Laurence Pearce, 21 James Mitchell, 22 Dan Mugford, 23 Mike Haley
Referee: Tom Foley
Assistant Referees: Paul Dix, Jonathan Healy
TMO: Stuart Terheege