Josh Taumalolo (centre) scored what proved the crucial try
Bristol (12) 26
Tries: Crompton, Lemi, Ward-Smith, Taumalolo
Cons: Strange (3)
Wasps (12) 21
Tries: Sackey (2)
Pens: Staunton (2), Walder
Wasps lost their 100% record as Bristol ran in four tries and picked up a bonus point to go top of the table.
Darren Crompton caught Wasps' defence off-guard early on to open the scoring, before two Paul Sackey tries in quick succession put the visitors on top.
David Lemi's try restored parity at half-time, by when Wasps' Simon Shaw and Peter Bracken were in the sin-bin.
Dan Ward-Smith and Josh Taumalolo's tries put Bristol clear but Wasps' kicking kept them in contention.
Bristol coach Richard Hill on their start to the season:
"In all honesty, it is an odd feeling. None of us can believe it.
"It is a spectacular start, and none of us could really have dreamt we would be where we are after four games, but it is thoroughly deserved.
"We had a target of gaining 14 points from our first five league games, but we will need to reassess that now."
Wasps director of rugby Ian McGeechan:
"It was a game we could have won, but we were not as patient as we should have been.
"We never seemed to settle into the game.
"Having watched Bristol in their first three games, I'm not surprised they are top. Credit to Richard Hill - they play to their strengths."
Bristol: C Morgan; Robinson, Taumalolo, Cox, Lemi; Strange, Perry; Clarke, Regan, Crompton; Winters, Llewellyn; Salter, To'oala, Ward-Smith.
Replacements: Hilton for Clarke (57), Blaney for Regan (67), Budgett for Llewellyn (57).
Not Used: Lewis, O'Riordan, Gray, Pozzebon.
Wasps: Voyce; Sackey, Erinle, Staunton, Lewsey; Walder, Reddan; Payne, Ibanez, Bracken; Shaw, Palmer; Leo, Worsley, Hart.
Replacements: Adams for Walder (34), Amor for Reddan (67), Ward for Ibanez (44), Birkett for Shaw (47), Rees for Leo (68).
Not Used: Brooks, Doherty.
Sin Bin: Bracken (33).
Ref: R Maybank (RFU).