The home side led 7-3 at the break after a converted try from South African Thinus Delport.
Aisea Havili scored again on 52 minutes before Bristol rallied with tries from flanker Joe El Abd and David Lemi.
But Drahm kept the scoreboard ticking over with four penalties to lift Worcester into fourth in the table, one point above Gloucester.
Bristol coach Richard Hill:
"It was probably a fair result. Worcester were better than us and we didn't play as well as we usually do. "They did a good job on our line-out and really put pressure on that area.
"We conceded tries on both occasions we were down to 14 men which was through ill-discipline. That was a shame. They made us pay for our mistakes badly."
Worcester: Le Roux; Havili, Rasmussen, Lombard, Delport; Drahm,
Gomarsall; Windo (capt), C Fortey, Tuamoepeau; Murphy, Gillies;
Horstmann, Tuamoheloa, Hickey.
Replacements: Powell for Gomarsall (67), Vaili for Horstmann (69).
Not Used: Hickie, L Fortey, O'Donoghue, Brown, Hinshelwood.
Bristol: Going; Lima, Higgitt, Cox, Lemi; Strange, Perry;
Hilton, Regan, Crompton; Winters, Llewellyn; Salter, El Abd,
Lewis.
Replacements: Stanojevic for Higgitt (72).
Not Used: A Clarke, Nelson, Sambucetti, Morgan, Rauluni, Hayes.
Sin bin: Lima (20), Cox (50).
Att: 9,762
Referee: David Rose (RFU).