Andy Goode scored all 22 points as Worcester withstood a strong Perpignan fightback to win a thrilling match.
The hosts led 16-8 at half-time at Sixways after a converted try and three penalties by the 32-year-old fly-half.
Perpignan, who scored a first-half try from Florian Cazenave, then received a 64th minute penalty try, converted by James Hook, to edge 21-19 ahead.
But Goode capped a fine individual display with his fifth penalty of the night two minutes from time.
Worcester and Perpignan started the day locked on 10 points apiece at the top of Pool 2.
Yet Goode's heroics have now established a three-point cushion over their opponents ahead of next Saturday night's return clash in the south of France (20:00 GMT).
There only seemed one winner when Goode's try and conversion five minutes before the interval gave the Warriors a 16-5 lead.
But Hook's drop-goal at the end of the half, part of an 11-point haul for the Welsh international, triggered a strong comeback.
And, when a penalty try arrived 16 minutes from time after a succession of penalties close to the Worcester line, a decision which also saw prop Ceri Jones become Worcester's second yellow card victim of the night, Perpignan went 21-16 in front.
But former England stand-off Goode made light of the driving rain (and a pre-match bug) to kick two late penalties and make it three Challenge Cup wins out of three for the Warriors.
VIEW FROM THE DRESSING ROOM
Warriors coach Richard Hill told BBC Hereford & Worcester:
"It was the sort of game that earlier this season we might have lost. Even when it looked pretty grim towards the end, we showed we now have the confidence to come back.
"It's not easy to get the sort of belief in a squad that it needs to take on a Heineken Cup team like Perpignan. But it's such a vital thing to get that mentality in a team to think they can beat anybody.
"It wasn't a great spectacle. The heavens opened a couple of hours before kick-off, conditions were awful and it was hard to play any sort of decent rugby.
"I expect the weather conditions to be a bit better in Perpignan next weekend. I also expect them to throw the kitchen sink at us. But this result has kept the group alive and we'll be ready for them."
THURSDAY NIGHT'S LINE-UPS
Worcester: Pennell; Walker, Grove, Matavesi, Lemi; Goode, Hodgson; Ceri Jones, Shervington, Murray, Percival, Chris Jones, Best, Kvesic, Taulava.
Replacements: Schofield for Chris Jones (56), Lutui for Shervington (56), Arr for Hodgson (56), O'Donnell for Taulava (64), Betty for Best (64), Andress for Murray (65), Short for Grove (66), Classens for Lemi (66).
Sin Bin: Best (53), Ceri Jones (62).
Perpignan: Michel; Sid, Marty, Piukala, Plante; Hook, Cazenave; Taumalolo, Guirado, Mas, Vahaamhina, R Taofifenua, Strokosch, Narraway, Tuilagi.
Replacements: Haughton for Michel (52), Tchale-Watchou for R Taofifenua (52), Mafi for Marty (58), Guiry for Tuilagi (64), Schuster for Taumalolo (66), Mele for Cazenave (71).
Not Used: Terrain, Pulu.
Sin Bin: Taumalolo (32), Plante (71).
Referee: Neil Hennessy (Wales).