Centre Neil Brew (2), Andrew Blowers and David Lemi (2) all crossed, while Jason Strange kicked 12 points.
Brew's first try gave Bristol a 13-3 lead at the break and they forged ahead afterwards with Leeds down to 14 men when Stuart Hooper was sin-binned.
Leeds hit back with a long-range Tom Biggs interception try but Lemi's second sealed the win.
Bristol coach Richard Hill:
"We have not been playing well at all for five matches and we didn't play well in the first 40 minutes.
"But thankfully we started to come somewhere near our form in the second half but it was still pretty frustrating to watch the first 40. We still didn't click as well as we should have done.
"We scored some tries in the end but we probably butchered three or four as well, there is still a lot to work on.
"We certainly didn't underestimate Leeds and the way they dealt with coming up to the Premiership from National One. If anything we would look to emulate them."
Leeds director of rugby Stuart Lancaster:
"At half time we were disappointed with certain aspects of our game but being 13-3 down we felt that we were still in the game. "It was important for us to start the second half well and we did with the first score.
"The sin-binning and the points we conceded during that period affected our game, we tended to play too much catch-up rugby about that time.
"Bristol played exceptionally well, when they had the opportunities they took them.
"We go into every game believing we could win. We need to get more consistency across the board and back up that performance against Worcester a week ago."
Bristol: David Hill, Tom Arscott, Rob Higgitt, Neil Brew, David Lemi; Jason Strange, Brian O'Riordan; Darren Crompton, David Blaney, Jason Hobson; Roy Winters, Sean Hohneck; Matt Salter (captain), Alfie To'oala, Dan Ward-Smith.
Replacements: Scott Linklater, Dave Hilton, Nathan Budgett, Andrew Blowers, Haydn Thomas, Neil Brew, Lee Robinson
Leeds: Jon Goodridge, Richard Welding, Jonny Hepworth, Lee Blackett, Tom Biggs, Alberto Di Bernado, Joe Bedford; Mike MacDonald, Rob Rawlinson, Fosi Pala'amo, Stuart Hooper, Erik Lund, Rhys Oakley, Calum Clark, Mark Lock.
Replacements: Tommy McGee, Vili Ma'asi, Michael Cusack, Kearnan Myall, James Brooks, Andy Tuilagi, Leigh Hinton
Bookmark with:
What are these?