Warriors scored 17 unanswered points to almost produce a stunning second-half comeback as they claimed a bonus point against Harlequins.
A penalty try sandwiched between scores for Marco Mama and Phil Dowson completely turned the match on its head after Harlequins had dominated the first 40 minutes.
Tries from Charlie Walker and Jack Wallace and seven points from the boot of Nick Evans had given Harlequins a 17-3 lead at the break.
Walker then added a second score in the opening stages of the second period before Warriors’ comeback.
But the visitors held on for the win despite being dominated for virtually the whole of the second-half.
Warriors Director of Rugby Dean Ryan made just one change to the side which claimed a bonus point at Bath Rugby as Mama came into the back row.
After a morning of torrential rain in Worcester, both sets of players were left with the unenviable task of trying to handle an extremely slippery ball.
Both full-backs made handling errors before Harlequins stormed ahead following an attacking move down the left.
Ross Chisholm made good ground before teeing-up Walker, who still had work to do as he claimed the pass at the second attempt, danced inside and raced to the tryline.
Evans had the simple task of adding the conversion as the visitors racked-up a 7-0 lead inside the opening three minutes.
Warriors had a chance to get off the mark shortly afterwards after Chris Pennell was tripped in the process of claiming an up-and-under. But Tom Heathcote saw his penalty attempt drop wide.
A spell of foot tennis ensued as both sides looked to gain field position, with ball in hand seeming a disadvantage.
Ryan’s men continued to press forward and enjoyed the majority of the possession after going behind, with Jonny Arr looking to get his backline into the game at every opportunity.
And Warriors did get on the scoreboard as Heathcote struck three points after Harlequins centre George Lowe had been sin-binned for an altercation with Tevita Cavubati.
The visitors regrouped after the yellow card as they looked to starve the hosts of the ball and went over for their second try of the afternoon before the half hour mark.
Evans kicked a penalty into touch before the visiting forward pack drove their counterparts backwards to allow Wallace to touch down.
Evans’ conversion gave Harlequins a 14-3 lead, despite the hosts playing some of the better rugby.
Warriors then counted themselves hard done by as Heathcote was completely wiped out by lock Charlie Matthews while clearing the ball.
Matthews escaped unpunished, despite making no attempt to use his arms in the tackle.
Heathcote was replaced by Andy Symons as the hosts found themselves with a battle on their hands to get back into the game.
Evans then struck his first penalty of the afternoon as the visitors secured a 17-3 lead at the break.
Harlequins had no intention of easing up in the second-half and went over for a third try after Walker claimed Danny Care’s grubber kick before dotting down in the corner.
But Warriors were in no mood to roll over as they battled for possession and territory and began to put pressure on their opponents.
And when Ryan Mills kicked a penalty into touch metres from the tryline, the home forward pack drove their way over for their first try of the afternoon.
Mama was the man to ground the ball as Warriors gave the home crowd hope of a comeback.
That stirred the hosts into life as they laid siege to the Harlequins tryline.
Warriors pressed for a second try and won penalty after penalty before Wales international Jamie Roberts became the visitors’ second player to endure a stint in the sin-bin.
And Harlequins could repel the hosts no further as referee Wayne Barnes awarded Warriors a penalty try after a string of infringements at the scrum.
Mills’ conversion reduced Harlequins’ lead to just nine points at 24-15 as Warriors became a team hardly recognisable from that of the first-half.
And when Harlequins found themselves camped on the Warriors tryline with 12 minutes remaining, the hosts produced a fine effort to win a penalty and remove the danger.
It was Warriors who now looked like the top-four side and Harlequins were well and truly on the ropes.
And the visitors had no answer when Vuna chased a kick forward before forcing Walker to lose the ball, which allowed Dowson to pick the ball up and finish from close range. That put Warriors just four points behind with nine minutes remaining.
Harlequins had hardly been in the Warriors half during the second period and were now hanging on for the win against the dominant hosts.
Warriors knocked on the door again and again as they searched for a victory which seemed almost impossible at half-time.
But time was against the hosts and Harlequins hung on for the four points.
Warriors: 15 Chris Pennell, 14 Bryce Heem, 13 Wynand Olivier, 12 Ryan Mills, 11 Cooper Vuna (Biggs 74), 10 Tom Heathcote (Symons 31), 9 Jonny Arr (Mulchrone 74); 1 Na’ama Leleimalefaga (Bower 65), 2 Niall Annett (Sowrey 65), 3 Nick Schonert (Milasinovich 65), 4 Donncha O’Callaghan (Sanderson 65), 5 Tevita Cavubati, 6 Matt Cox, 7 Marco Mama (Betty 50), 8 Phil Dowson (C)
Replacements: 16 Ben Sowrey, 17 Ryan Bower, 18 Gareth Milasinovich, 19 Dan Sanderson, 20 Sam Betty, 21 Charlie Mulchrone, 22 Andy Symons, 23 Tom Biggs
3m: Walker try 0-5
3m: Evans con 0-7
15m: Heathcote pen 3-7
27m: Wallace try 3-12
28m: Evans con 3-14
33m: Evans pen 3-17
44m: Walker try 3-22
45m: Evans con 3-24
49m: Mama try 8-24
60m: Penalty try 13-24
60m: Mills con 15-24
71m: Dowson try 20-24