Both sides were forced to make late changes due to illness with Bristol number eight Dan Ward-Smith replaced by Geraint Lewis and Warriors hooker Chris Fortey replaced by Andre van Niekerk. Bristol also gave a debut to former Wales international Nathan Budgett in the an all-Welsh second row with Gareth Llewellyn.
Bristol suffered an early blow when centre Brian Lima had to be carried off the field on a stretcher after just two minutes. Play was held up for eight minutes as paramedics lifted the injured player and taken to hospital.
He was replaced by Mark Denney who has still to establish himself in the side since returning to the club in the summer.
The home side applied the early pressure and despite the departure of Lima, they scored the opening try when wing Lee Robinson, a summer recruit from Plymouth, made a 30-metre run to score under the posts.
Fly-half Jason Strange added the conversion only for his opposite number Shane Drahm, back at the Memorial Stadium for the first time since leaving Bristol in 2003, landed a penalty from out on the left.
Strange was just short with a long-range attempt before Drahm reduced the arrears further from 40 metres out with a second penalty.
Worcester took the lead just after the half hour as right wing Aisea Havili popped up in midfield to take the ball on a 30-metre run to score under the posts. Drahm added the extras but was wide with his third penalty attempt
In injury-time at the end of the first half Bristol should have scored a second try but Bernardo Stortoni’s pass to former England hooker Mark Regan was knocked on close to the touchline. The Warriors were penalised at the resulting scrum and Bristol opted for another scrum but when the ball was worked wide the Warriors stood firm.
Jason Strange then slotted a penalty neatly between the uprights as the Warriors trailed 13-10 at the interval.
Ten minutes into the second half, after some sustained pressure from Bristol, Strange landed his second penalty from out on the left to level the scores.
The Warriors quickly regained the advantage with the a break down the left through centre Thomas Lombard. He was tackled by Strange but managed to pop the ball up to number eight Drew Hickey with Drahm adding the conversion.
But Bristol were immediately back on level terms as Denney was tackled just short of the line and from the ruck it went out to Strange who dummied and burst through before converting his own touchdown.
Just after the hour Worcester were reduced to 14 men when centre Dale Rasmussen was yellow carded for tackling wing David Lemi without the ball after the wing had chipped ahead and was racing to collect with the line at his mercy. Strange added the resulting penalty only for Drahm to reply with his third to level the scores again.
Three minutes from time Drahm landed his fourth penalty to nudge the visitors back in front in this keenly contested battle.
With the clocking ticking down Worcester were penalised just inside their own half but the kick from replacement full-back Tommy Hayes was well wide.