An last-minute penalty saw Bath sneak past London Irish to claim a 25-24 win to extend the Exiles' losing streak.
Olly Barkley condemned London Irish to a demoralising ninth successive defeat in all competitions after a dramatic finale at the Madejski Stadium.
Bath, 17-6 down just before half-time, claimed their first Aviva Premiership win since late September when Barkley struck gold with the game's final kick.
The England international's sixth penalty - added to a conversion of scrum-half Michael Claassens' try - gave him 20 points and left Irish in shock.
Wing Topsy Ojo's seventh league try of the season looked to have settled a nervy, fractious affair, his effort following earlier touchdowns by Sailosi Tagicakibau and Richard Thorpe.
Bath fought back to lead by two points when Claassens crossed midway through the second period, but they had to wait until the last minute for the chance to kill Irish off.
It came after Irish flanker Steffon Armitage collapsed a maul, and Barkley calmly stepped up to claim the points and leave Irish with the scant consolation of a losing bonus.
Scrum-half Paul Hodgson captained Irish after Clarke Dermody dropped to the bench, while the home side's replacements also included regular starters Seilala Mapusua, Bob Casey and Ryan Lamb.
Bath welcomed back skipper Luke Watson after injury, but his team were immediately rocked back as Irish claimed a try inside two minutes.
The visitors won lineout ball just inside their own half, only to lose possession and then being forced into retreat as Irish attacked through centre Dan Bowden.
With the Bath defence struggling to regroup, Tagicakibau showed his power from 30 metres out, smashing through two attempted tackles before touching down one-handed.
Ex-Bath player Chris Malone slotted the touchline conversion and then kicked a penalty when Watson infringed, leaving Bath 10-0 behind and already chasing the game.
Bath were guilty of poor options and sloppy handling behind the scrum, while the game's first six penalties went to Irish after they displayed far greater technical discipline.
Even when Bath gained their opening penalty - 28 minutes into the game - Barkley missed a straightforward kick for a marksman of his calibre, and Irish's healthy advantage remained intact.
Barkley made amends just three minutes later though, finding the target from 50 metres to open Bath's account, before a second successful penalty gave Irish food for thought.
But the home team quickly re-established themselves, claiming a second try as half-time approached.
Bath were undone by pace and precision as slick passing created enough room for full-back Delon Armitage's blistering outside break, and Thorpe took his inside pass to finish off.
Malone again added the extras, and although Barkley then completed his penalty hat-trick, Bath could have few complaints about a 17-9 interval deficit.
Bath enjoyed a rare spell of sustained pressure early in the second period, driven by England skipper Lewis Moody, yet handling mistakes again cost them when they needed to show composed organisation.
Irish's task in defence was not made any easier when Thorpe collected a yellow card for collapsing a maul inside his own 22, and Bath continued to hammer away, maintaining a bludgeoning approach through their forwards.
Television match official Graham Hughes ruled out a close-range effort from Bath number eight Simon Taylor, but Bath's territorial dominance finally reaped its reward through Claassens' dart.
Barkley's conversion cut the deficit to a point, and when Malone rifled the restart straight into touch, it confirmed just how unsettled Irish had become.
But there was worse to come from Irish's perspective, as a 64th-minute Barkley penalty nudged Bath ahead for the first time and boosted hopes of a first league away win in almost four months.
The lead though, lasted less than two minutes after Mapusua - on for Malone - proved enough of a distraction for Bath's defenders, creating space that Ojo exploited by blasting through a weak Barkley tackle.
Bowden converted from in front on the posts, then a fifth Barkley penalty made it 24-22, ensuring a fight to the finish.
And the glory was Bath's when Barkley stepped up to nail the winning penalty as time finally ran out for Irish.
For London Irish:
Tries: Tagicakibau, Thorpe, Ojo
Cons: Malone 2, Bowden
Pens: Barkley 6
Yellow cards: Thorpe (London Irish - 55th min)
London Irish: 15 Delon Armitage, 14 Topsy Ojo, 13 Elvis Seveali'i, 12 Dan Bowden, 11 Sailosi Tagicakibau, 10 Chris Malone, 9 Paul Hodgson, 8 Chris Hala'ufia, 7 Steffon Armitage, 6 Richard Thorpe, 5 Matt Garvey, 4 Nick Kennedy, 3 Faan Rautenbach, 2 James Buckland, 1 Alex Corbisiero.
Replacements: 16 Brian Blaney, 17 Clarke Dermody, 18 Dan Murphy, 19 Bob Casey, 20 George Stowers, 21 Seilala Mapusua, 22 Ryan Lamb, 23 Darren Allinson.
Bath: 15 Jack Cuthbert, 14 Matt Carraro, 13 Olly Barkley, 12 Shontayne Hape, 11 Matt Banahan, 10 Butch James, 9 Michael Claassens, 8 Simon Taylor, 7 Lewis Moody, 6 Luke Watson (capt), 5 Danny Grewcock, 4 Stuart Hooper, 3 David Wilson, 2 Lee Mears, 1 David Barnes.
Replacements: 16 Pieter Dixon, 17 Duncan Bell, 18 Aaron Jarvis, 19 Ignacio Fernandez Lobbe, 20 Ben Skirving, 21 Mark McMillan, 22 Sam Vesty, 23 Nick Abendanon.
Venue: Madejski Stadium
Referee: Greg Garner