Bath remained unbeaten in Pool Five of the Heineken Cup following a hard-fought win over rivals Glasgow at the Recreation Ground.
Bath (23) 31
Try: Welsh, Stephenson, Lipman, Finau
Pens: Barkley (3)
Glasgow (23) 26
Try: Henderson, Parks
Cons: Parks (2)
Pens: Parks (3), Gregor
Frikkie Welsh, Michael Stephenson, Michael Lipman and Salesi Finau all went over, while Olly Barkley scored three penalties and a conversion.
Fly-half Dan Parks scored 15 points for Glasgow, including a first-half try.
Centre Andrew Henderson also touched down and substitute Colin Gregor's late penalty set up a tense finale.
The extra point takes Bath further away from challengers Leinster and Bourgoin, with two wins from their remaining three pool games almost certain to be enough to take them into the last eight.
Welsh opened the scoring early in the match after good work from the backs, but Glasgow fought back after Parks kicked over and then set up the Henderson try with a superb kick.
The visitors took a nine-point lead after Parks went over from close range.
But a Stephenson try and a Barkley penalty put Bath within a point of Glasgow.
A Lipman score and more Parks penalties meant that the teams went into the interval level at 23-23.
The second-half was a much tighter affair before Finau's try and a Barkley three-pointer broke Glasgow's resistance.
Acting Bath coach Michael Foley: "The perception of some people was that Glasgow are not a good team, but we took them very seriously. They were well organised and very well drilled.
"We had a horror day at the restart, and there were a couple of things we could have done better.
"We need to look at how we manage our kicking game, and we want to play better in Glasgow next Friday."
Glasgow coach Hugh Campbell: "I'm gutted because it was a game that could have gone our way, but I am delighted with the way we are playing at the moment.
"The confidence is growing, and the players are playing an exciting brand of rugby.
"We are looking forward to the return fixture, and it is not difficult to motivate these players at the moment. They will be up for the game next Friday."
Bath: Perry; Finau, Cheeseman, Barkley, Welsh; Malone, Walshe; Stevens, Mears, Bell; Borthwick (capt), Short; Beattie, Lipman, Fea'unati.
Replacements: Dixon, Barnes, Scaysbrook, Fidler, Williams, Davis.
Glasgow: Staniforth; O'Hare, Morrison, Henderson, Lamont; Parks, Beveridge (capt); Murray, Lawson, Tkachuk; Barker, Hamilton; Swindall, Beattie, Barclay.
Replacements: Thomson, Harrison, Hayter, Turner, Pinder, Gregor, Craig.