
Gloucester centre Mike Tindall, Bath prop Matt Stevens and his front-row colleague Lee Mears all failed to last the distance of a punishing encounter.
Johnson and Rob Andrew are due to announce a 32-man squad for next month's New Zealand tour on Tuesday.
And they will be anxious for early fitness updates on a trio expected to start against the All Blacks in Auckland on June 7.
Despite Tindall's early departure, Gloucester kept their shape and discipline to book a home semi-final against reigning champions Leicester tomorrow week.
Wing James Simpson-Daniel's 34th-minute try shaded an intense encounter, preserving Gloucester's place at the Premiership summit and consigning Bath to third spot.
Bath now face a daunting semi-final away to Wasps after a losing bonus point was not enough to preserve second spot.
Gloucester-bound Olly Barkley booted two penalties for the visitors, but a scoreless second period reflected how two committed sides cancelled each other out.
England wing Lesley Vainikolo returned for Gloucester after recovering from a hamstring strain. His Test colleague Iain Balshaw moved to full-back instead of Olly Morgan, with number eight Gareth Delve handed a start against his former club.
Wing Andrew Higgins, centre Tom Cheeseman and prop David Flatman represented a trio of Bath changes following their 66-21 drubbing of Saracens last Saturday, while Barkley lined up against the team he will join next season.
And both sides showcased their attacking instincts during a lively opening quarter.
Balshaw's pace stretched the Bath defence before his inside pass almost sent Tindall clear, then wing Matt Banahan sprinted clear and was hauled down by a superb last-ditch Balshaw tackle.
Tindall though, a leading contender to captain England in New Zealand, limped off in the 17th minute and was replaced by Willie Walker, before Lamb rifled over a 35-metre penalty to edge Gloucester ahead.
Territorially, Bath were in complete control, but they encountered a Gloucester defence ferociously committed to knocking them back in the tackle.
Bath looked to have finally broken through in the 25th minute when Stevens rampaged clear, but a stunning Simpson-Daniel tackle denied him five metres from the line.
Stevens was forced off injured as a result of Simpson-Daniel's defensive brilliance, and although Barkley quickly struck an equalising penalty, Gloucester moved ahead before the break.
Slick handling left Bath short of defensive numbers, and Simpson-Daniel did not require a second invitation to cut back inside for a clever try.
Lamb could not convert, and despite Barkley landing a second penalty to cut the deficit, Gloucester trooped off two points ahead after a high-octane half played in stamina-sapping conditions.
There was not let-up in terms of intensity or commitment after the break, yet scoring opportunities were at a premium.
Gloucester thought they had done enough to seal the deal when Vainikolo stormed clear in space to send substitute Luke Narraway over, but referee Dave Pearson ruled a forward pass during the build-up.
Bath threw everything at their opponents during the frenzied closing stages, but they lacked a cutting edge and Gloucester comfortably held them out.
Gloucester (8) 8 Bath (6) 6
Gloucester: Tries: Simpson-Daniel. Pens: Lamb.
Gloucester: Balshaw, Simpson-Daniel, Tindall, Allen, Vainikolo, Lamb, Lawson, Wood, Titterrell, Nieto, Bortolami, Brown,
Strokosch, Qera, Delve.
Replacements: Walker for Tindall (14), Cooper for Lawson (69), Dickinson for Wood (46), Azam for Titterrell (46),
Narraway for Delve (55).
Not Used: W. James, Foster.
Bath: Pens: Barkley 2.
Bath: Maddock, Higgins, Cheeseman, Barkley, Banahan, James, Claassens, Flatman, Mears, Stevens, Borthwick, Grewcock, Faamatuainu, Lipman, Browne.
Replacements: Crockett for Cheeseman (64), Dixon for Mears (57), Bell for Stevens (27), Short for Grewcock (69), Goodman for Browne (74).
Not Used: Walshe, Berne.
Att: 15,500
Ref: Dave Pearson (Newcastle).





