Jonny May scored a 75th minute try in a drama-filled finale to help Gloucester to 27-22 victory over Perpignan in the Heineken Cup at Kingsholm on Saturday.
A 22-point haul from James Hook was not enough for Perpignan, as Gloucester edged a thrilling contest in the Heineken Cup.
Perpignan crossed for a try in the very first minute of the match when Hook latched on to a clever cross-field grubber kick to dive over in the corner.
Hook converted his own try from wide on the left, but the lead was shaved down to a point in the minutes that followed as Billy Twelvetrees stroked over two penalties ahead of the 20-minute mark.
Hook responded in kind shortly after to put four points between the sides, and it remained that way until the final stages of the first half, when Hook and Twelvetrees exchanged further penalties.
Gloucester sprung into life after the restart and hit the front when Jimmy Cowan went over for an opportunistic score from a quickly taken tap penalty.
Twelvetrees was again on target with the boot to put the hosts in a good position, but three Hook penalties in five minutes soon after handed the lead back to Perpignan.
With the visitors holding a six-point advantage, the hosts rallied in search of a route back into the match, and Twelvetrees' fourth penalty goal of the evening on 77 minutes ensured a tight finish.
Gloucester continued to pour forward and they finally got their rewards when Jonny May crashed over just minutes from time to put the hosts back in front.
The conversion was missed, but the dismissal of Perpignan's Lifeimi Mafi for a spear tackle two minutes later broke the vistors' spirits and their hopes of another comeback, and Gloucester held on to seal a thrilling win.
Tries: Cowan, May
Pens: Twelvetrees 5
Yellow card: Kvesic
Pens: Hook 4
Yellow card: Durand
Red card: Mafi
Gloucester: 15 Rob Cook, 14 Jonny May, 13 Mike Tindall, 12 Billy Twelvetrees, 11 James Simpson-Daniel, 10 Freddie Burns, 9 Jimmy Cowan, 8 Sione Kalamafoni 7 Matt Kvesic, 6 Tom Savage (c), 5 James Hudson, 4 Elliott Stooke, 3 Shaun Knight, 2 Huia Edmonds, 1 Yann Thomas.
Replacements: 16 Dan George, 17 Dan Murphy, 18 Rupert Harden, 19 Gareth Evans, 20 Akapusi Qera, 21 Dan Robson, 22 Ryan Mills, 23 Martyn Thomas.
Perpignan: 15 James Hook, 14 Wandile Mjekevu, 13 Tommaso Benvenuti, 12 Lifeimi Mafi, 11 Sofiane Guitoune, 10 Camille Lopez, 9 Nicolas Durand, 8 Luke Narraway, 7 Alasdair Strokosch, 6 Justin Purll, 5 Romain Taofifenua, 4 Dan Leo, 3 Paulica Ion, 2 Guilhem Guirado (capt), 1 Sebastien Taofifenua.
Replacements: 16 Romain Terrain, 17 Kisi Pulu, 18 George Jgenti, 19 Jean-Pierre Perez, 20 Dewaldt Duvenage, 21 David Marty, 22 Joffrey Michel, 23 Luke Charteris.
Referee: Leighton Hodges (Wales)
Assistant referees: Ian Davies (Wales), Sean Brickell (Wales)
Television match official: Tim Hayes (Wales)
Timekeeper: Matthew Peters (England)