Doncaster Knights suffered late heartbreak at home after pushing Bristol close.
The home side eventually succumbed 18-9 despite playing some excellent defensive rugby, narrowly losing out on a vital bonus point.
The Yorkshiremen capitalised on Bristol indiscipline at the ruck to take a 3-0 lead through the boot of Jamie Lennard.
Bristol rallied and were rewarded with a push-over try following several strong drives in the face of spirited Knights defence. Hooker Ross Johnston claimed the points and Tristan Roberts converted for a 7-3 lead.
Bristol eventually broke through again for Ryan Edwards to chip and touch down a kick to the corner.
Lennard pulled another penalty back to leave his side trailing 12-6 at the break.
Lennard opened the second period with another three points but Roberts hit back with a kick of his own as the game became increasingly attritional.
Doncaster came close to the whitewash after strong work from the pack almost drove Rhys Buckley over, but the threat was eventually extinguished by the defence.
The home side were clinging on for the bonus point, but with only two minutes remaining an easy penalty was awarded to Bristol for replacement fly-half Matt Jones to knock over, leaving an unfortunate home side with nothing.
Doncaster Knights: D Flockhart, D Mama, J Tincknell, W Simpson, T Lewis, J Lennard, L Silver (Hallam, 73), T Davies (Cronin, 44), R Buckley (Sowery, 73), B McGovern, R Cadman (Boyde, 51), P Hoy, M Challinor, J Rawling (Bradford, 61), A Kettle (Pailor, 65).
Bristol: J Goodridge, M Tagicakibau, J Gadd (B Mosses, 65), L Eves, R Edwards, T Roberts (M Jones, 61), J Grindal, K Traynor, R Johnston (R Lawrence, 57), B Douglas, B Glynn, R Winters, I Grieve, R Pennycook (G Townson, 70), M Eadie.