Two tries from Ben Loader helped London Irish to a pulsating 36-33 win over Bath, who finished the contest with 13 men.
Bath struck first through a Will Muir effort, aided by Max Clark, and an exchange of penalties kept them in front, but Irish finished the half strongly.
Loader skipped past three tacklers before dotting down to draw Irish level, before a moment of brilliance from Tom Parton set up a second. Collecting a high ball in his own half, he glided through the middle of the pitch, leading to Paddy Jackson teeing up Matt Rogerson.
Bath started the second half with intensity, but discipline became an issue. Dunn saw red for a smash into the face of Agustín Creevy, before Ewels followed after collecting a second yellow, Muir having also gone to the sin-bin in between as Bath were reduced to 12 for a spell.
Loader and Curtis Rona exploited the gaps to secure a bonus point as they opened up a 36-23 lead with 15 minutes to play. Those two tries sandwiched a sublime team score, finished by Parton.
But Bath rallied late to keep their play-off hopes alive with late contributions from Josh McNally and Jack Walker.
Chris Ashton was sent off as Worcester’s nightmare season continued with a crushing 62-14 defeat to Northampton at Sixways.
The former England wing had earlier scored a try but his charge into a ruck saw his forearm make contact with an opponent’s head.
His departure sealed Worcester’s fate as they fell to their 14th consecutive defeat, with Ollie Sleightholme notching four tries for the Saints.