Tom Voyce scored two tries to help Gloucester to a 34-22 Aviva Premiership win over Bath at Kingsholm on Saturday.
Nicky Robinson kicked 14 points as Gloucester grabbed a bonus-point victory in a seven-try thriller.
The Cherry and Whites outscored Bath by four tries to three and fly-half Robinson claimed four penalties and a conversion.
To make matters worse for the visitors, centre Olly Barkley was carried off after sustaining a serious-looking leg injury when team-mate Butch James appeared to land awkwardly on him.
The result underlined Gloucester's top-four credentials but was a severe dent in Bath's hopes of a play-off berth. Robinson's first penalty booted Gloucester - unbeaten since New Year's Day - in control and they soon claimed their first try when Henry Trinder touched down for a try which Robinson converted.
Yet in the 25th minute Bath got off the mark when Matt Banahan powered his way over the line and Barkley added the conversion.
However, 10 minutes later Gloucester re-established control when Paul Doran-Jones touched down for a try which Robinson could not convert.
Yet Bath continued to probe and Barkley kicked a penalty before the break and two minutes after the restart wing Tom Biggs scampered over for a try which Barkley could not convert.
Robinson then kicked two penalties in quick succession and Voyce grabbed his first score before Robinson landed another penalty.
With five minutes remaining Ben Williams but Gloucester hit back when Voyce grabbed his second but Freddie Burns missed the conversion.
Tries: Trinder, Doran-Jones, Voyce 2
Pens: Robinson 4
Tries: Banahan, Barkley, Williams
Cons: Barkley, James
Gloucester: 15 Olly Morgan, 14 Charlie Sharples, 13 Henry Trinder, 12 Eliota Fuimaono-Sapolu, 11 Tom Voyce, 10 Nicky Robinson, 9 Rory Lawson, 8 Luke Narraway (c), 7 Andy Hazell, 6 Peter Buxton, 5 Jim Hamilton, 4 Will James, 3 Paul Doran-Jones, 2 Scott Lawson, 1 Nick Wood.
Replacements: 16 Olivier Azam, 17 Yann Thomas, 18 Rupert Harden, 19 Alex Brown, 20 Alasdair Strokosch, 21 Jordi Pasqualin, 22 Freddie Burns, 23 Tim Molenaar.
Bath: 15 Jack Cuthbert, 14 Matt Banahan, 13 Ben Williams, 12 Olly Barkley, 11 Tom Biggs, 10 Butch James, 9 Michael Claassens, 8 Simon Taylor, 7 Luke Watson (c), 6 Ben Skirving, 5 Danny Grewcock, 4 Stuart Hooper, 3 Duncan Bell, 2 Lee Mears, 1 David Flatman.
Replacements: 16 Pieter Dixon, 17 David Barnes, 18 Kane Palma-Newport, 19 Ignacio Fernandez Lobbe, 20 Guy Mercer, 21 Mark McMillan, 22 Sam Vesty, 23 Nick Scott.
Referee: Greg Garner
Assistant referees: Stuart Terheege, Peter Huckle
TMO: Trevor Fisher