Michael Claassens tackles Pedrie Wannenburg at Ravenhill
Ulster kept their Heineken Cup hopes alive by earning a deserved comeback win over Bath at Ravenhill as Biarritz were shocked by Aironi in Italy.
Bath, realistically needing victory to maintain their own qualification hopes, led 15-3 after Jack Cuthbert's breakaway score and a Lewis Moody try.
But Pedrie Wannenburg's intercept try got Ulster back into the match as they trailed only 15-13 at the break.
Three Ian Humphreys penalties proved enough for Ulster in the second half.
With Biarritz suffering a shock 28-27 defeat against Aironi in Italy, Ulster's win put Brian McLaughlin's side back with a chance of topping Pool Four although they face a tough return game in Bath next weekend.
Olly Barkley, a late addition to the starting line-up after initial selection Shontayne Hape became a father on Saturday, nudged the visitors ahead in the second minute from in front of the posts, before Ulster responded with some intense pressure.
Stephen Ferris twice looked like crossing the Bath line after Paddy Wallace's initial break but was held up inches short.
Ulster tried to recycle possession but Bath full-back Cuthbert soared to intercept Humphreys' looping pass and ran the full length of the field to score.
Barkley, who was making his 200th appearance for his club, added the conversion in front of a stunned Ravenhill.
As Ulster continued to boss possession, Humphreys opened their account with the boot but the home team then gifted Bath another try.
Humphreys was unable to field a garryowen and Adam D'Arcy's failure to grasp the bouncing ball enabled Moody to run in from 40 metres - helped by Nigel Brady's flimsy attempt at a tackle.
Barkley's conversion hit the upright but Bath were 15-3 ahead.
Ulster were given a chance to get back into the contest as Bath prop David Flatman was sin-binned for a high tackle on Tom Court in the 27th minute.
With the man advantage, Ulster rejected a couple of straightforward penalty chances to put the Bath scrum under severe pressure but an early engagement from prop BJ Botha averted the danger for the English side.
At that stage, Ulster looked to have run out of ideas but they were then gifted a try of their own as Simon Taylor's telegraphed pass was snaffled by Wannenburg who ran 50 metres to score.
Humphreys converted to cut Bath's lead to 15-10 and the Ulster fly-half added another three points shortly before the break.
Barkley extended Bath's lead to five points immediately after half-time but Ulster responded with pressure.
Court looked as though he was going to get over for a try before being held up and a glorious chance was then squandered when Nevin Spence's touch prevented Humphreys' pass from reaching its intended target, Dan Tuohy.
However, Ulster had already won a penalty which Humphreys slotted and the home fly-half struck another to put the home side 19-18 ahead on the hour and soon added three more points.
Bath, knowing that defeat would almost certainly end their Heineken Cup hopes for this season, produced late pressure but Andrew Trimble's turnover a minute from time ensured Ulster's deserved victory.
Ulster coach Brian McLaughlin: "There were a lot of mistakes in the first half but you can't fault the effort. The attitude the guys had on the field today was brilliant.
"You only have to look at the tackle of Andrew Trimble in the last play of the game to show what this competition means to us.
"Everyone fought tooth and nail for the pride of Ulster but we have to do the exact same thing again next week."
Bath head coach Steve Meehan: "We are disappointed, obviously, but if we don't go in with the intensity that we should, then we are going to give sides like Ulster opportunities.
"We have three matches to play. We need to work on two or three key areas this week and then host Ulster and turn around the result.
"The course of the next week will shape it (the competition). If you can win four out of the six games, you are in with a shout."
Ulster: A D'Arcy; A Trimble, N Spence, P Wallace, S Danielli; I Humphreys, R Pienaar; T Court, N Brady, BJ Botha; J Muller (capt), D Tuohy; S Ferris, C Henry, P Wannenburg
Replacement: Faloon for Henry 56. Not used: A Kyriacou, P McAllister, B Young, T Barker, W Faloon, P Marshall, I Whitten, D McIlwaine
Bath: J Cuthbert, M Carraro, M Banahan, O Barkley, T Biggs, S Vesty, M Claassens (capt), D Flatman, L Mears, D Wilson, S Hooper, D Grewcock, A Beattie, L Moody, S Taylor.
Replacements: D Barnes for Carraro 30, N Abendanon for Biggs 16, M McMillan for M Claassens 75, P Dixon for Mears 66, D Bell for Wilson 61, I Fernandez Lobbe for Grewcock 61. Not used: B Skirving
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.