Cornish Pirates survived a second-half Bristol fightback to book their place in the Championship play-off final, and end the hosts' Premiership hopes.
Rob Cook's converted try and penalty, either side of a Jon Goodridge try for Bristol, saw Pirates into a 10-7 lead.
Bristol ran in three second-half tries through Goodridge, George Watkins and Will Helu, closing to within seven points overall with two minutes left.
But a Phil Burgess try and Cook's late penalty proved enough for the Pirates.
In addition, Bristol's exit hands Premiership bottom-side Newcastle Falcons further hope of avoiding relegation.
Neither Pirates nor other semi-finalists Bedford have applied for an audit by Premiership Rugby to see if they would meet the top flight's minimum ground requirements, but - insisting they have ground-share arrangements in place if they win the final - but may still not qualify.
Coming into the game with a 21-point deficit, Bristol needed a good start, but it was the Pirates who opened the scoring with a Cook penalty.
However Bristol responded quickly, working the ball from a held-up drive from right to left, and Goodridge collected a well-placed grubber to dart in.
The home side were buoyed by the score and could have ran in a second when a thrilling break, again from left to right, put Fautua Otto in down the left but the Samoan was held-up.
Pirates were the next to strike when Cook collected a hopeful chip forward from the hosts, and ran in a spectacular solo try from inside his own half, bursting through a gap in the Bristol line to restore the lead.
Liam Middleton's Bristol side were reeling at the break, but came out fighting to score the first try of the second period, Goodridge again touching down.
Pirates then grabbed the initiative, making the most of a Bristol turnover to release Burgess, who broke away to run in the Pirates' second try.
At that stage the mood around the Memorial Ground was one of disappointment, but as Watkins and then Helu added tries, desperate hope was restored that a late fightback could be on.
Instead another Cook penalty ensured it was Cornish Pirates who would go through to the final, and leave the home side pondering another season outside the top flight.
Bristol: Goodridge; Tovey, Helu, Otto, Eves; Watkins, Roberts, Tipuna, Harris-Wright, Hobson, Sambucetti, Winters, Ovens, Merriman, Grieve.
Replacements: Johnson, Lilley, Thompson, Glynn, Vanderglas, Salter, James.
Cornish Pirates: Cook, Pointer, S. Hill, Suniula, D. Doherty, Thomas, Cattle, Rimmer, Ward, Paver, McGolone, Nimmo, Morgan, Burgess, Marriott.
Replacements: Storer, Elloway, Brits, M. Smith, D. Ewers, Evans, Kessell.
Referee: Sean Davey (RFU)