The Scarlets edged out Pool 1 rivals Castres 13 -16 at Stade Pierre Antoine in the Heineken Cup on Saturday evening.
Castres have only lost once at the Stade Pierre Antoine this season but went behind early courtesy of a Rhys Priestland penalty and a try from No 8 Matt Gilbert.
South African scrum-half Rory Kockott clawed Castres back into the game with two quick penalties after the Scarlets were found guilty of infringements at the breakdown to make it 8-6 to the visitors at half-time.
The Scarlets lost Priestland with what looked like an ankle injury at the start of the second half after he twisted in a tackle and limped off the field before flanker Aaron Shingler ran 80metres for a superb interception try.
The hosts levelled the scores with a try by replacement Yannick Forestier, converted by Romain Teulet, to make it 13-all but fly-half Stephen Jones sealed the victory with a penalty in the dying moments.
Final Score Castres 13 (6) Scarlets 16 (8)
Penalties: Kockott 2
Tries: Gilbert, Shingler
Penalties: Priestland ,S Jones
Referee: JP Doyle (England)
Castres Olympique: R Teulet; R Martial, P Bonnefond, P Garcia, M Andreu; S Bai, R Kockott; S Taumoepeau, M Bonello, K Wihongi, S Murray, R Capo Ortega, J Bornman, S Malonga, C Masoe [capt]
Replacements: B Mach, Y Forestier, M Coetzee, M Rolland, Y Caballero, T Lacrampe, P Bernard, M Evans
Scarlets: R Priestland; G North, S Williams, J Davies, L Williams; S Jones [capt], R Williams; P John, K Owens, P Edwards, L Reed, D Day, A Shingler, J Edwards, M Gilbert
Replacements: E Phillips, I Thomas, R Jones, S Timani, R Pugh, G Davies, G Maule, V Iongi
With thanks to ERCRugby.