Andy Goode kicked all of Worcester's points as they battled to a 22-21 win over Perpignan in miserable conditions at Sixways.
Both sides lost two player each to the sin-bin in a gritty encounter, with Perpignan picking up a valuable losing bonus point ahead of Worcester's visit to the Stade Aime Grail next weekend.
Worcester fly-half Goode opening the scoring with a penalty after only three minutes, before adding another three as the Warriors pack won an early scrum battle to give the hosts a 6-0 lead.
Euan Murray caused problems for Perpignan loosehead Sona Taumololo in the opening ten minutes, but a high tackle from Chris Jones gave the visitors valuable territory, their attack stopping short of the Worcester try line.
Perpignan then grabbed the first try after Sebastian Vahaamahina shrugged off David Lemi and offloaded to Florian Cazenave who went over in the right corner.
An error at the lineout from the visitors then gave Worcester valuable territory inside the Perpignan 22, with Murray again getting on top of Taumalolo to win a penalty, which Goode converted. Taumalolo continued to struggle and was sin-binned by referee Neil Hennessy after half an hour.
The resultant penalty set up Worcester outside the Perpignan 22, but Goode's drop goal attempt sailed wide. A break from Nikki Walker moments later though gave Worcester another opportunity, Goode eventually going on his own to score the hosts first try.
An up and under from Perpignan was spilled by Worcester full-back Chris Pennell and the visitors capitalised through a drop goal from James Hook to leave the scores at 16-8 before the break.
Hook then continued the scoring at the start of the second half with a penalty and then added another after Neil Best was sent to the sin-bin for Worcester for coming offside in front of the posts.
Perpignan began to dominate the scrum and after multiple penalties by the Worcester line, Ceri Jones joined Neil Best Best momentarily in the sin-bin. Another penalty saw the referee run under the posts to award the penalty try.
Goode responded with a penalty for the Warriors as the weather worsened with the gap closed to two points.
An in-the-air tackle from Adrien Planté on Chris Pennell saw the Perpignan winger sin-binned, taking the visitors down to 14 men as they looked to protect their slender lead.
But Worcester came good once more, racking up 20 phases in front of the Perpignan try line before winning a penalty which Goode converted to give them a 22-21 lead with only two minutes remaining. Perpignan created a drop goal opportunity for Hook, but his attempt fell wide.
Elsewhere, Top 14 strugglers Mont-de-Marsan saw off league rivals Bordeaux by 20-13 at the Stade André Moga thanks to tries from Arnaud Pic and Jordan Beaulavon, along with two penalties from fly-half Alexandre Douvesy.
Pens: Goode (5)
Yellow Cards: Best, Ce. Jones
Tries: Cazanave, Penalty
Pen: Hook (2)
Drop Goal: Hook
Yellow Card: Taumalolo, Planté
Worcester Warriors: 15 Chris Pennell, 14 Nikki Walker, 13 Alex Grove, 12 Josh Matavesi, 11 David Lemi, 10 Andy Goode, 9 Paul Hodgson, 8 Semisi Taulava, 7 Matt Kvesic, 6 Neil Best, 5 Chris Jones, 4 James Percival, 3 Euan Murray, 2 Edward Shervington, 1 Ceri Jones.
Replacements: 16 Aleki Lutui, 17 Rob O'Donnell, 18 John Andress, 19 Dean Schofield, 20 Sam Betty, 21 Jonny Arr, 22 Errie Claassens, 23 Andy Short.
Perpignan: 15 Joffrey Michel, 14 Farid Sid, 13 David Marty, 12 Sione Piukala, 11 Adrien Plante, 10 James Hook, 9 Florian Cazenave, 8 Henry Tuilagi, 7 Luke Narraway, 6 Alasdair Strokosch, 5 Romain Taofifenua, 4 Sebastien Vahaamahina, 3 Nicolas Mas, 2 Guilhem Guirado, 1 Sona Taumalolo.
Replacements: 16 Romain Terrain, 17 Jérôme Schuster, 18 Kisi Pulu, 19 Bertrand Guiry, 20 David Mele, 21 Lifeimi Mafi, 22 Richard Haughton, 23 Robins Tchale Watchou.
Referee: Neil Hennessy