Pat Lam's side moved two points behind fourth-placed Exeter after recovering from three successive defeats in the Prem and European Champions Cup.
Bristol punished Gloucester with two tries from Kalaveti Ravouvou, while Kieran Marmion and Fitz Harding also crossed over, in addition to a penalty try.
Tom Jordan touched down early in the second half, along with hooker Gabriel Oghre.
James Williams kicked five conversions and Jordan landed two late penalties.
Gloucester managed scores for George Barton and Deian Gwynne, plus a Barton conversion, but they were a distant second-best, slumping to an 11th Prem defeat of the season in 13 starts as Bristol claimed a record victory in the fixture.
