Exeter: (14) 29
Tries: Tuima, Painter, Wyatt, Iosefa-Scott Cons: Slade 3 Pen: Slade
Bristol: (13) 20
Tries: Lane 3 Con: Sheedy Pen: Sheedy
Rich Lane's hat-trick was not enough as Exeter beat Bristol 29-20 and went top of the Premiership.
Rus Tuima gave Exeter an early lead, but two Lane tries put Bristol in front after 20 minutes before Ehren Painter put the hosts back ahead.
Tommy Wyatt got Exeter's third try soon after the restart before Lane got his hat-trick to make it close.
Josh Iosefa-Scott's try with 12 minutes left secured a bonus point before a late Henry Slade penalty for Exeter.
James Williams missed a 79th-minute penalty which cost Bristol a losing bonus point as they stay sixth while the win moves Exeter a point clear at the top of the table.
For the third successive home game Exeter scored early as Tuima went in from a metre in the third minute after six phases in the Bristol 22.
But unlike their big home wins over Saracens and Sale, Bristol hit back straight away as Callum Sheedy's penalty reduced the arrears before the fly-half's delicate kick dribbled to the right corner where an unchallenged Lane dotted down in the 10th minute.
Ten minutes later it was the same combination as Sheedy's high kick was plucked out of the air by Lane and the former Jersey Reds full-back shook off Tommy Wyatt to go in.
Painter forced himself over from close range five minutes later as Exeter's forwards dominated in the red zone - so much so that Bristol replacement Harry Thacker was sin-binned for being offside four minutes from the break after a number of pack infringements.
But despite being a man down Bristol held out until half time as Kieran Marmion held up Painter over the Bristol line.
It took just 94 seconds of the second half for Exeter to breach Bristol as some powerful forward play deep in the red zone ended with Wyatt going over for his first Premiership try.
But the Sheedy kick to Lane tactic worked wonders for as third time four minutes later as the hat-trick man again beat Wyatt to a high ball and went in down the left wing.
As the half wore on Exeter's scrum began to dominate, forcing a tap penalty from five metres out that eventually led to Iosefa-Scott going over from close range, before the pack won the penalty that Henry Slade converted with five minutes left that ultimately denied the Bears a losing bonus point.
Exeter director of rugby Rob Baxter told BBC Radio Devon:
"We've had a couple of outstanding home performances and everyone's watching saying 'what's going on there, where's this come from?'. Today was gritty and we've still come out with five points.
"I'm really pleased, it felt great at the start, then Bristol pulled it down to a level of scrappiness and did well around the tackle area and slowed us down, and I don't think we always reacted that well. We went error to error for a lot of things today.
"What today showed was there's more you can do in your control than just intensity.
"You have to have intensity, but when the other team are there and on it as well you have to also get some decision-making right and we probably dropped off that a bit, but the flip of that means that's the big improvement we can make very quickly."
Bristol director of rugby Pat Lam told BBC Radio Bristol:
"I feel for the guys, the effort they put in they deserved at least something.
"It's not easy to play here and they came out strong again but we stayed right in the game and fought to the end. It's just disappointing for the boys that they didn't get a thing out of it.
"But it just highlights the importance of getting the little things done and you've got to take your opportunities in these tight games."
Exeter: Wyatt; Feyi-Waboso, Slade, Hendrickson, Woodburn; Skinner, Cairns; Sio, Yeandle (capt), Painter, Tuima, Pearson, Roots, Vermeulen, Vintcent.
Replacements: Frost, Abuladze, Iosefa-Scott, Jenkins, Davis, Armstrong, Haydon-Wood, Hawkins
Bristol: Lane; Heward, Vakatawa, Janse van Rensburg, Ibitoye; Sheedy, Marmion; Grahamslaw, Capon, Kloska, Caulfield, Batley, Dun, Harding (capt), Bradbury.
Replacements: Thacker, Woolmore, Lahiff, Holmes, D. Thomas, Randall, Williams, O'Conor.
Sin bin: Harry Thacker (36 mins)
Referee: Hamish Smales