A try bonus point, secured by two tries in the final minute, was of no consolation to Warriors who suffered a heavy defeat on the road against top four opponents.
Alex Hearle galloped over from the final play of the match, immediately after Richard Palframan had dotted down, to claim a second try bonus of the season but it could not mask what was a disappointing performance, particularly after a bright start.
Warriors led twice in the first 25 minutes and were rewarded for playing some sparkling rugby with Niall Annett and Joe Batley finishing sustained attacks in a frenetic opening which saw four tries scored in the opening 11 minutes with both teams committed to playing fast, open rugby in perfect conditions.
But the game was transformed in the final 15 minutes of the first half when Harlequins scored three tries to open up a commanding 17 points lead.
Warriors were chasing the game from that point and made life more difficult for themselves with some disorganised defensive work which led to soft tries being conceded.
Harlequins, who had the bonus point wrapped up after 31 minutes, brought up the half century nine minutes from time before Warriors rallied and ensured that their trip to London was not entirely wasted.
Palframan crossed from close range in the 79th minute and Billy Searleās quick conversion meant that there was just enough time to restart.
Anton Bresler snaffled possession, linked with Ashley Beck who slipped the ball to Hearle who marked his first Premiership appearance with his first try in the competition.
There was a debut for former Wales Under-20s wing Harri Doel who has been signed on loan from Scarlets Academy. The youngster showed a couple of nice touches with the limited amount of possession he had and provided a little encouragment spot in an otherwise dispiriting evening.
Warriors | 15 Jamie Shillcock, 14 Ed Fidow (Doel 61), 13 Ollie Lawrence (Beck 61), 12 Francois Venter, 11 Alex Hearle, 10 Billy Searle, 9 Francois Hougaard, 1 Ethan Waller (Thomas 61), 2 Niall Annett (Miller 48), 3 Nick Schonert (48), 4 Joe Batley (Bresler 53), 5 Graham Kitchener, 6 Ted Hill (C), 7 Matt Kvesic, 8 GJ van Velze (Dodd 73).
Replacements | 16 Isaac Miller, 17 Marc Thomas, 18 Richard Palframan, 19 Anton Bresler, 20 Tom Dodd, 21 Gareth Simpson, 22 Ashley Beck, 23 Harri Doel.
Timeline
3m | Care try 5-0
6m | Annett try 5-5
7m | Searle con 5-7
9m | Smith try 10-7
10m | Smith con 12-7
11m | Batley try 12-12
12m | Searle con 12-14
25m | Esterhuizen try 17-14
26m | Smith con 19-14
31m | Louw try 24-14
32m | Smith con 26-14
40m | Evans try 31-14
52m | Evans try 36-14
53m | Smith con 38-14
60m | Green try 43-14
61m | Smith con 45-14
71m | Northcote try 50-14
79m | Palframan try 50-19
80m | Searle con 50-21
80m | Hearle try 50-26