Gavin Henson kicked all of his side's points as Bristol recorded a shock 12-11 derby win over Bath at Ashton Gate to give them a huge boost in their battle against relegation.
Bristol still prop up the Aviva Premiership table after the win but they are now only two points behind Worcester, who they face at Sixways next Sunday in a potentially decisive clash.
Henson kicked three penalties and dropped a goal to earn Bristol victory against his former club, with Bath's response coming from a second-half Semesa Rokoduguni try and two Rhys Priestland penalties.
It was a heroic defensive performance from Bristol, who never threatened the try-line, but an out-of-sorts Bath will reflect on numerous missed opportunities.
The fourth-placed visitors botched a couple of clear try-scoring chances and a pair of missed kicks from Priestland ultimately proved the difference.
Jonathan Joseph, released from the England squad this week, lined up for Bath while Henson was selected to start for Bristol for the first time since October.
Bath began brightly and just failed to take a third-minute lead when Harry Davies was forced into touch inches short of the line by an excellent tackle from Will Hurrell.
Five minutes later, the visitors blew another golden opportunity when Paul Grant and Davies created a chance for David Denton, but the flanker knocked on five metres out.
Bristol made their opponents pay for their early profligacy by taking a 12th-minute lead when former Wales back Henson fired over a 45-metre drop goal.
The visitors continued to dominate the opening quarter with Joseph the major threat to a stubborn Bristol defence, but their only first-half points came from Priestland's 19th-minute penalty.
Henson was wide with another drop goal attempt and then a penalty kick, both from long range, as Bristol became more competitive in the second quarter, but they suffered a setback when Tom Varndell was permanently withdrawn after failing a head injury assessment.
Bristol prop Ryan Bevington and Bath flanker Tom Ellis also left the field with injuries as the game became stagnant, with some ill-directed kicking from Priestland and Chris Cook not helping Bath's cause.
Bristol capitalised with Bevington returning in time to see Henson kick two penalties in quick succession to give his side a 9-3 interval lead.
Ellis was unable to return after the break, his place being taken by Guy Mercer, and a frustrating afternoon for Bath continued when Priestland missed a penalty.
The visitors continued to make unforced errors and a handling one from Rokoduguni gave the home side a platform in the Bath 22, from which Henson extended Bristol's lead with his third penalty.
Bath responded with some excellent handling but once again were denied when Davies, for the second time in the match, was driven into touch narrowly short.
Bristol received two further injury blows when Rhodri Williams and Anthony Perenise both departed, and another setback when Priestland kicked his second penalty to leave Bath trailing 12-6 at the end of the third quarter.
With 13 minutes remaining, Rokoduguni intercepted a careless pass from Tusi Pisi to run 55 metres to score the game's only try, but Priestland was narrowly wide with the conversion and Bristol held on for a valuable victory.