Wasps moved five points clear of Exeter at the top of the Premiership with a 40-33 win over Worcester at the Ricoh Arena.
However the victory was far from straightforward as struggling Worcester were the better team until wing Bryce Heem was sent off in the 45th minute for a reckless challenge on Willie Le Roux.
The scoreline was 19-19 at that stage of the contest - but with their numerical advantage, error-ridden Wasps did just enough to pick up the points.
Christian Wade scored two tries for the hosts, taking his tally to 79 for the club to draw level with Kenny Logan at the top of their scoring chart. Will Rowlands, Josh Bassett, Brendan Macken and Alapati Leiua also crossed with Jimmy Gopperth adding four conversions and Danny Cipriani one.
Josh Adams scored two tries for Worcester, Heem, Jackson Willison and Biyi Alo one apiece, with four conversions from Ryan Mills completing the scoring.
Worcester took a surprise fifth minute lead when, from a five-metre scrum, Heem brushed aside a weak tackle from Dan Robson to crash over the line. Mills missed a simple conversion attempt.
The hosts responded when Robson provided a scoring pass for Rowlands - and although Gopperth surprisingly missed the conversion it mattered little as Wasps soon scored their second try.
On halfway, a pass from Cipriani gave Wade his chance and he evaded a poor attempt at a tackle from Heem to race 50m past some questionable defence to score.
The visitors blew a golden opportunity after a strong run from Dean Hammond created an overlap - but somehow Josh Adams and Heem confused each other and the scoring pass from Mills was knocked forward, allowing Ashley Johnson to clear.
However Warriors were not to be denied for long and after declining two kickable penalties, they were rewarded when a clever pass from Francois Hougaard sent Adams over in the corner.
A touchline conversion from Mills levelled the scores after 24 minutes and Worcester's impressive beginning could have got even better - but Heem's try was harshly ruled out for crossing.
Warriors, who dominated the first half, regained the lead when incisive bursts from Heem and Chris Vui put the home defence on the back foot before Adams was left with an easy run-in.
With the last movement of the half, Wasps replied with their third try when Chris Pennell missed a tackle on Wade, who skipped over the line for Gopperth to convert and make it 19-19 at the end of a breathtaking 40 minutes.
James Haskell was replaced at the interval by Guy Thompson before Cipriani booted the restart straight out of play.
From the resulting scrum, Worcester prop Val Rapava-Ruskin suffered an injury and he was replaced by Ryan Bower, before Heem was sent off.
A flowing movement from Wasps ended with Leiua scoring the bonus point try but the home side still struggled to quell the spirit of the Warriors.
However in the final quarter, the loss of Heem finally told with tries from Bassett and Macken, before Matt Mullan was yellow carded - and Worcester took advantage to achieve two well-deserved bonus points with late tries from Alo and Willison.