A brace from Charlie Walker helped Harlequins climb up to third in the Premiership after a 24-20 win over Worcester at Sixways.
Despite holding a 17-point advantage at the break, the away side nervously held on in the second half.
The wet conditions did nothing to dampen the quality of play, but it was Nick Evans' kicking game which proved to be the difference between the sides at the full-time whistle.
Quins got off to the best possible start with Charlie Walker going over after receiving the ball from Evans, who converted for a 7-0 lead.
Worcester made the most of slippery conditions, and reduced the deficit to four points, with Tom Heathcote hitting the target having missed a similar chance just moments beforehand.
Visiting player George Lowe was sin-binned for his part in the successful penalty. Once Lowe came back into the action, Harlequins looked a different outfit, and scored a second try through Luke Wallace, with Evans again converting.
Soon after, Heathcote was taken out by a no-arm tackle from Charlie Matthews, but much to the home crowd's displeasure, Matthews received no punishment.
The Sixways' faithful were left further frustrated when Evans scored a penalty with Worcester penalised for not releasing the man.
Conor O'Shea's men went into the break with a 17-3 lead. It took little time for that advantage to be extended further with Danny Care feeding in Charlie Walker for the third try of the game. Once more, Evans added the extra points.
And with the game seeming all but over as a contest, Warriors got themselves back in with a try of their own, Marco Mama with the touchdown. Ryan Mills failed with the conversion.
After much pressure, the comeback seemed well and truly on, with Worcester scoring a penalty try, before Mills found success with the conversion, leaving a nine-point buffer between the sides.
Another spell of sustained pressure told for the away side as Warriors skipper Phil Dowson brought the hosts to within four points of their high-flying opponents. Cooper Vuna pressured Walker into a mistake and Dowson did the rest.
With time ticking away, both sides went in search of a four-try bonus point, but in the end, Worcester had to settle for a losing bonus point, whilst Harlequins could celebrate a hard-fought victory.
Tries: Mama, Penalty Try, Dowson
Tries: Walker 2, Wallace
Cons: Evans 3
Yellow Cards: Lowe, Roberts
Worcester: 15 Chris Pennell, 14 Bryce Heem, 13 Wynand Olivier, 12 Ryan Mills, 11 Cooper Vuna, 10 Tom Heathcote, 9 Jonny Arr, 8 Phil Dowson (c), 7 Marco Mama, 6 Matt Cox, 5 Darren Barry, 4 Donncha O'Callaghan, 3 Nick Schonert, 2 Niall Annett, 1 Na'ama Leleimalefaga
Replacements: 16 Ben Sowrey, 17 Ryan Bower, 18 Gareth Milasinovich, 19 Tevita Cavubati, 20 Sam Betty, 21 Charlie Mulchrone, 22 Ryan Lamb, 23 Tom Biggs
Harlequins: 15 Mike Brown, 14 Charlie Walker, 13 George Lowe, 12 Jamie Roberts, 11 Ross Chisholm, 10 Nick Evans, 9 Danny Care (c), 8 Nick Easter, 7 Luke Wallace, 6 Chris Robshaw, 5 Charlie Matthews, 4 James Horwill, 3 Adam Jones, 2 Dave Ward, 1 Joe Marler
Replacements: 16 Rob Buchanan, 17 Owen Evans, 18 Kyle Sinckler, 19 George Merrick, 20 Jack Clifford, 21 Karl Dickson, 22 Ben Botica, 23 Harry Sloan
Referee: Andrew Small
Assistant Referees: Paul Burton, Nigel Carrick
TMO: Geoff Warren