England vice-captain Ellis Genge scored two tries as Bristol secured a bonus-point victory over Perpignan in the European Challenge Cup.
It was a fourth win out of four, but they must rely on other results to finish in the top four of Group A.
Having conceded an early try from Ali Crossdale, Bristol scored all their points in the first half.
Genge crossed twice with Harry Randall, Dan Thomas and Siva Naulago the other try-scorers.
Bristol's hopes of a top-four finish in the group, and a home tie in the last-16 at the end of March, had been severely hampered by their five-point deduction for fielding an ineligible player in Elliott Stooke in their opening two wins of the group.
They did what they had to do with the bonus-point victory, but they need Newcastle Falcons to beat Connacht by 11 points to grab a top-four place.
The French visitors, bottom of the Top 14, had stunned the hosts as they scored the first try of the night thanks to ex-Wasps man Crossdale.
But the Bears' response was emphatic and they had the bonus point they wanted wrapped up by the half-hour mark.
Scrum-half Randall scored his first try since returning from hamstring surgery before Genge touched down following good work from AJ MacGinty.
Dan Thomas then crossed the line as he latched on to an inspired kick over the top from hooker Harry Thacker before the try of the night.
It began with a line-out near halfway and ended with Naulago, on his first appearance at Ashton Gate this season, going over in the far corner to cap off a flowing team move.
With Bristol dominant and looking like scoring with every attack, there was still time for a fifth try as Genge grabbed his second of the night in his final match before linking up with the new-look England squad at Pennyhill Park next week.
With a 26-point lead, Bristol's concentration dipped in the second half and they did not add a single point as the French side scored consolation tries through Nino Seguela and number eight Valentin Moro.
Bristol Bears assistant coach Conor McPhillips told BBC Radio Bristol:
"The first half showed what we can do, some great tries and some great individuals on top of that.
"But ultimately you have to be able to kick on when you want to go far in this competition.
"You're going to be playing quality sides, so it's about making sure you can build pressure and continue that for 80 minutes. We saw 40 minutes today but that was about it."
Bristol: Lane; Bailey, Radradra, Williams, Naulago; MacGinty, Randall; Genge (cap), Thacker, Sinckler, Vui, Batley, Bradbury, Thomas, Harding.
Replacements: Davies, Woolmore, Lahiff, Hawkins, Heenan, Uren, Sheedy, Bates.
Perpignan: Crossdale; Seguela, Sawailau, Fernandez, Dubois; Perez, Rodor (cap); Bououda, Tadjer, Fakatika, Chinaro, Mahu, Ramasibana, Bertheau, Moro.
Replacements: Montgaillard, Chiocci, Jincharadze, Tuilagi, Moreaux, Viola, Desrues, Pichon.
Referee: Sam Grove-White (Sco)