Quins fly-half Marcus Smith opened the scoring early on before Warriors hit back immediately through tries from David Denton and Perry Humphreys.
Smith and Jono Lance then exchanged penalties before Josh Adams crossed but Mat Luamanu scored just before the break and Smith’s conversion brought Quins within one point at the interval.
Danny Care showed his opportunism to score after pouncing on a loose ball by kicking and chasing to the tryline and then set up Jamie Roberts to score from close range to earn Quins a bonus point.
Charlie Walker showed his pace and agility to go in under the sticks but replacement Dean Hammond went over out wide to grab Warriors’ fourth try for a bonus point.
Tim Swiel chipped over a penalty to stretch Quins’ lead and it proved crucial as Hammond went over for his second to leave Warriors 13 points behind with five minutes to play.
And the men in Blue and Gold showed their never-say-die attitude as Jack Singleton powered over from close range and Tom Heathcote held his nerve to slot a conversion from out wide to secure a second bonus point on an afternoon of entertainment in London.
Chris Pennell was a late withdrawal from the Worcester squad through illness meaning Adams moved to full-back while Tom Howe was handed his first Premiership start on the wing.
Harlequins applied the early pressure after kicking a penalty to the corner and following a few phases, Smith dived over to open the scoring before converting his try.
But Warriors bounced back following Wynand Olivier’s brilliant break up field and he later produced a sublime offload around his back to set Lance away and the Australian had Denton in support to touch down out wide.
And Warriors extended their lead just three minutes later when Lance’s kick over the top saw Humphreys scoop it up and beat off Mike Brown to score in the corner.
Harlequins levelled the scores in the 22nd minute when Smith coolly slotted a penalty but Lance replied with a superb kick from the angle 40 metres out just two minutes later.
Warriors then piled on the pressure in the Quins 22 and after a number of phases and big carries from the likes of Will Spencer, Joe Taufete’e and Humphreys, Adams managed to grasp the ball at the second attempt to quickly dot the ball down beyond the tryline.
The visitors looked to extend their lead with a long-range Lance penalty but the ball dropped just wide of the upright.
Harlequins won a penalty with just a minute till the break and they were rewarded for choosing to go for the corner as Luamanu crashed over from close range and Smith converted to bring them to within one at half-time.
Quins won a penalty early in the second period and as Smith went to go for goal, the ball fell off the tee and the youngster decided to try and run with it. But in the bizarre incident, referee JP Doyle ended up awarding Warriors a scrum.
However, from the resulting scrum, the ball squirmed loose and England scrum-half Care pounced upon it, kicking to the line and touching down and this time Smith did add the extra points.
Warriors were dealt a further blow when Jonny Arr was stretchered off the field and Care soon broke through before his side won a penalty which the scrum-half took quickly, and he found Roberts out wide who powered over. Smith slotted the extras.
Quins stepped up a gear and another line-break from Roberts saw him race away with support but Singleton did brilliantly to intercept the Welshman’s pass and deny the hosts a fifth score.
But they soon got their try when Walker outpaced the Warriors defence by dancing his way under the posts.
Warriors didn’t roll over however and they secured a bonus-point try following a break from Lance and a carry from Willison which got them close, before a quickly-taken penalty from Michael Dowsett sent Hammond over in the corner just seconds after coming on.
Swiel then landed a penalty for Quins before Warriors went on a late assault to try and salvage a very unlikely losing-bonus point – but against the odds – they managed to do so.
First Hammond helped himself to his second try, to back up the two he scored for Worcester Cavaliers on Monday night, as Warriors got the ball wide and Adams teed up his teammate to score in the corner with five minutes left on the clock.
Warriors still needed another six points to get a second bonus point from the match and after patiently going through the phases, they got reward as replacement hooker Singleton crashed over out wide.
Tom Heathcote’s conversion had added importance as he looked to slot from the angle – and he showed his composure to bring Warriors within six points with 90 seconds left.
The visitors then looked to play from the restart but a loose ball was grabbed by Roberts who raced to the tryline, but there was a knock-on in the build-up to give Warriors a scrum.
But after kicking the ball up field to get away from their 22, Brown soon booted the ball out of play as Warriors were forced to settle for two bonus points.
Next week Warriors face Sale Sharks at Sixways in the Anglo-Welsh Cup (kick-off 7.45pm).
Warriors | 15 Josh Adams, 14 Perry Humphreys, 13 Wynand Olivier (Heathcote 40), 12 Jackson Willison, 11 Tom Howe (Hammond 65), 10 Jono Lance, 9 Jonny Arr (Dowsett 52); 1 Ethan Waller (Bower 57), 2 Joe Taufete’e (Singleton 51), 3 Gareth Milasinovich (Alo 57), 4 Donncha O’Callaghan (C) (Phillips 57), 5 Will Spencer, 6 Alafoti Faosiliva, 7 Sam Lewis, 8 David Denton (Taylor 52)
Replacements | 16 Jack Singleton, 17 Ryan Bower, 18 Biyi Alo, 19 Pierce Phillips, 20 Huw Taylor, 21 Michael Dowsett, 22 Tom Heathcote, 23 Dean Hammond
04m | Smith try 5-0
05m | Smith con 7-0
07m | Denton try 7-5
10m | Humphreys try 7-10
22m | Smith pen 10-10
24m | Lance pen 10-13
29m | Adams try 10-18
40m | Luamanu try 15-18
40m | Smith con 17-18
46m | Care try 22-18
47m | Smith con 24-18
56m | Roberts try 29-18
57m | Smith con 31-18
63m | Walker try 36-18
64m | Smith con 38-18
67m | Hammond try 38-23
73m | Swiel pen 41-23
75m | Hammond try 41-28
78m | Singleton try 41-33
78m | Heathcote con 41-35
|Competition:||Aviva Premiership Rugby|