A dominant second-half performance saw Exeter Chiefs claim a bonus-point victory and continue their charge on the Aviva Premiership title.
Warriors had gone toe-to-toe with the West Country side before the break as four penalties from Tom Heathcote cancelled out tries from James Short and Ian Whitten as well as Gareth Steenson’s conversion.
But Exeter took their game to another level in the second period as scores from Thomas Waldrom and Don Armand wrapped-up the victory.
Warriors were given a boost ahead of kick-off as captain GJ van Velze returned from injury for his first Aviva Premiership start since November.
But Dean Ryan’s men found themselves on the backfoot as Exeter raced out the traps and Warriors went behind as Short touched down in the corner.
The visitors had kicked a penalty into touch just outside the 22 before firing the ball across the backline as they stormed forward.
And as full-back Phil Dollman drew men towards him, he teed-up Short to finish from close range.
The try seemed to awaken Warriors and they marched forward as Luke Baldwin looked to get the backline moving.
Cooper Vuna battered his way down the right before Bryce Heem thought he had stolen in with an interception, only for referee Craig Maxwell-Keys to bring play back for a knock-on.
Warriors started to assert themselves on the game and got off the mark as Heathcote struck a penalty from the ten-metre line.
The hosts were then forced to defend in their own territory, pressing Exeter into a series of mistakes to keep them at bay.
The game became an end-to-end affair as both sides looked to run the ball forward and find space out on the wings.
Warriors looked threatening every time they went inside the Exeter half and Heathcote gave his side a lead with his second penalty of the afternoon just after the 20-minute mark.
But Exeter started to show their class with some neat attacking play and went over for their second try of the afternoon through Whitten.
Short, who was proving a real handful, linked-up well with Steenson, who played in centre Whitten to race over.
Steenson converted before Heathcote added his third penalty of the afternoon to keep Warriors in the game, albeit 12-9 behind.
With Warriors pushing forward at every opportunity, Heem raised the crowd to their feet just before the break as he smashed his way past a series of Exeter defenders to make ground down the left.
And Heathcote soon levelled the scores with his fourth successful penalty of the afternoon as Warriors showed their mettle.
The fly-half could have even given Warriors a half-time lead with a kick in the 40th minute, but saw his effort drop wide for the first time.
The scoring continued in the early stages of the second period as Steenson and Heathcote exchanged penalties to keep the scores level.
Warriors then survived a sustained period of Exeter pressure as the visitors camped on the home tryline.
The hosts were growing in confidence as they pushed a maul towards the Exeter tryline and they almost forced their first try of the afternoon as Heathcote came storming through the middle, before seeing his miss pass drift agonisingly into touch with Vuna and the tryline beckoning.
Warriors were looking strong against the top-four side but could not prevent Exeter from going over for their third try of the afternoon.
The Exeter forward pack got to work from a lineout metres from the tryline and Waldrom was on hand to touch down and put the visitors back in front.
Steenson converted from a tight angle as the hosts nudged 22-15 ahead.
Exeter were starting to control the game and gave Warriors everything to do when they went over for a bonus-point try 12 minutes before the end.
The visitors found space on the right and when Armand received the ball in space on the right, he raced forward before diving over to give Exeter a 27-15 lead.
And Warriors had no way back when Steenson added another penalty to put Exeter more than two converted tries ahead at 30-15 with five minutes remaining.
Warriors: 15 Chris Pennell, 14 Bryce Heem, 13 Wynand Olivier, 12 Ryan Mills (Symons 59), 11 Cooper Vuna, 10 Tom Heathcote, 9 Luke Baldwin (Mulchrone 71); 1 Na’ama Leleimalefaga (Bower 59), 2 Niall Annett, 3 Nick Schonert (Johnston 56), 4 Donncha O’Callaghan, 5 Tevita Cavubati, 6 Phil Dowson, 7 Marco Mama (Cox 63), 8 GJ van Velze (C)
Replacements: 16 Ben Sowrey, 17 Ryan Bower, 18 James Johnston, 19 Dan Sanderson, 20 Matt Cox, 21 Charlie Mulchrone, 22 Andy Symons, 23 Dean Hammond
2m: Short try 0-5
10m: Heathcote pen 3-5
21m: Heathcote pen 6-5
28m: Whitten try 6-10
29m: Steenson con 6-12
31m: Heathcote pen 9-12
38m: Heathcote pen 12-12
42m: Steenson pen 12-15
45m: Heathcote pen 15-15
58m: Waldrom try 15-20
59m: Steenson con 15-22
68m: Armand try 15-27
75m: Steenson pen 15-30