European champions Wasps’ stuttering start to their Guinness Premiership campaign continued after Bristol held them in a pulsating contest at the Memorial Stadium.
Wasps looked to have breathed life into a poor domestic season when referee Andrew Small awarded them a late penalty try.
But Bristol replacement Ed Barnes kept his nerve to kick a match-saving penalty after 83 minutes.
Wasps had earlier been rocked by a three-try blast from Bristol brothers Tom and Luke Arscott.
Wing Tom capitalised on two defensive howlers by Wasps full-back Mark Van Gisbergen, who was substituted midway through the second half, then Luke crossed to put Bristol 20-13 clear.
Wasps fly-half Danny Cipriani – looking every bit a future England international – kept his team in the contest by booting 13 points, including conversions of an Eoin Reddan touchdown and the penalty try.
Wasps, languishing in the Premiership’s bottom third after losing several league games during the World Cup, now desperately need victories in successive home matches against Bath and Leeds Carnegie.
Bristol though, continue to prove tough nuts on home soil, boasting an eight-game unbeaten run in all competitions stretching back to mid-September.
And Bristol maintained that record despite going into battle without injured trio Shaun Perry (windpipe), David Blaney (broken leg) and Dan Ward-Smith (broken hand), who all underwent surgery this week.
And there was further misery when wing David Lemi withdrew because of a foot injury, which meant Anthony Elliott making his Premiership debut in Bristol colours.
Wasps boss Ian McGeechan, meanwhile, rested Lawrence Dallaglio and George Skivington following the rigours of back-to-back Heineken Cup games against Clermont Auvergne, while hooker Raphael Ibanez dropped off the bench after failing a late fitness test.
Wasps though, were quickly into their stride despite seeing England World Cup lock Simon Shaw sin-binned for a seventh-minute trip on Bristol scrum-half Brian O’Riordan.
Cipriani slotted an early penalty before Paul Sackey and Riki Flutey combined to open up Bristol’s defence, allowing the supporting Reddan to scamper clear.
Cipriani converted, and the signs looked ominous for Bristol, but Van Gisbergen’s amateurish defending allowed them back into the game.
His first blunder – a one-on-one missed tackle just inside the Wasps 22 – allowed Arscott to sprint over, but Van Gisbergen’s afternoon further deteriorated just 10 minutes later.
Arscott launched a speculative kick from deep inside his own 22, and all Van Gisbergen had to do was shepherd the ball into touch, yet he was caught napping by the chasing Arscott, who hacked clear and touched down.
Jason Strange added a second successful conversion, and although Cipriani edged Wasps back in front when he booted a 29th-minute penalty, Strange restored Bristol’s two-point advantage just before the break.
The first-half ended though, with both front-rows squaring up to each other, confirming a powder-keg undercurrent that had earlier seen Flutey and Bristol skipper Matt Salter engaged in a midfield disagreement.
Bristol lost Strange six minutes into the second period when he was late-tackled by Wasps hooker Rob Webber, yet he escaped a card as Strange left the action clutching his ribs.
Tom Arscott and England star Josh Lewsey were then involved in a dust-up before Small yellow-carded Shaw’s second-row partner Richard Birkett for a swinging arm on Salter.
Salter unquestionably made a meal of the incident, but Small was in danger of losing control as Bristol camped inside Wasps’ 22.
Bristol sensed another score, and this time they didn’t need to rely on a Van Gisbergen gift after concerted forward pressure resulted in Luke Arscott touching down.
Barnes, on for Strange, missed a simple conversion attempt, and Cipriani brought the visitors back to within four points when he completed his penalty hat-trick.
It gave Wasps extra determination to turn the screw, and they gained a 74th-minute penalty try following several scrums within touching distance of Bristol’s line.
Small’s patience with the Bristol front-row finally snapped when they pulled down a scrum, and Cipriani’s conversion edged Wasps three points ahead.
But Barnes came up trumps when it mattered, landing an equalising penalty that denied Wasps the win.