Premiership leaders Bristol took control after a tricky start to gain a bonus-point win at Newcastle and regain their 12-point lead at the top.
Michael Young's interception try helped Falcons to an early 10-0 lead despite Adam Brocklebank being sin-binned.
But Jake Heenan ran through, Max Malins dummied his way to score and Luke Morahan twisted in as Bristol replied.
The visitors went clear with tries from Ben Earl and Malins before Kyle Cooper's consolation score for Falcons.
Pat Lam's Bears are now unbeaten in their past eight Premiership matches, winning six in a row, while 10th-placed Newcastle are on a run of five successive defeats.
Bristol made nine changes from their European Champions Cup defeat by Bordeaux-Begles and were scrappy in the opening 20 minutes, Earl's no-look pass in his own 22 cut out by Young for a try after the hosts had Brocklebank yellow-carded for a shoulder charge into the back of Callum Sheedy.
Fly-half Sheedy was forced off after the incident but Bristol soon found their stride, Earl cutting inside, accelerating and playing a reverse pass for Heenan to score before Malins, on his first start of 2021, wrong-footed two defenders to go over.
Newcastle's Young then missed a tackle on Morahan to allow the table-toppers to hold a 19-10 half-time lead.
England back-row Earl took a lovely line on an inside angle for Bristol's fourth try and though Niyi Adeolokun was denied a score after a knock-on, Malins sprinted through for his second after a Falcons chip over the defensive line took an unfortunate bounce.
Bristol host second-placed Exeter at Ashton Gate on Friday.
Newcastle: Penny; Vuna, Wacokecoke, Lucock, Stevenson; Flood, Young; Brocklebank, McGuigan, Mulipola, Peterson, Robinson, Welch, Wilson (capt), Chick.
Replacements: Blamire, Cooper, Ah You, Fuser, Van der Walt, Schreuder, Connon, Graham.
Bristol: Malins; Morahan, O'Conor, S Piutau (co-capt), Adeolokun; Sheedy, Uren; Y Thomas, Capon, Afoa, Joyce, Vui, Harding, Earl, Heenan (co-capt).
Replacements: Kloska, Woolmore, Lahiff, Holmes, D Thomas, Kessell, Lloyd, Leiua.
Referee: Christophe Ridley (RFU).