Castres were made to work very hard to get their second win of the Top 14 season, beating Oyonnax 35-26 at Stade Pierre Antoine on Friday.
In a ding-dong battle, the home side outscored Oyonnax four tries to three but were often outmuscled although they did have the upper hand at scrum time.
Castres led 14-10 at the interval after both teams had scored two tries but the hosts were able to build a lead after the interval as full-back Geoffrey Palis punished Oyonnax's indiscipline from the kicking tee.
Castres have clearly put last season's horror show behind them and they look set to do battle for a play-off berth this term with promising young fly-half Antoine Dupont showing they have depth in key positions.
They were forced to recover from conceding a try in the opening minute, as debutant wing Uwa Tawalo scored the first of his two tries after just 25 seconds!
Castres would reply seven minutes later though, through a tries by scrum-half Julien Seron and the centre Rémi Grosso at the end of the first quarter as the teams traded blows with Tawalo bagging his double on the half-hour mark.
Oyonnax fly-half Nicky Robinson and Palis traded three-pointers, including a neat drop by Robinson as a real arm wrestle unfolded.
The home pack would eventually get on top, with Oyonnax prop Antoine Guillamon sent to bin as the visitors' scrum buckled before Dupont sealed victory with a well-taken late try.
Replacement hooker Jérémie Maurouard grab a consolation try for Oyonnax, but the result had already been settled.
Tries: Seron, Grosso, Dupont, Penalty try
Cons: Palis 3
Pens: Palis 3
Tries: Tawalo 2, Maurouard
Pens: Robinson 2
Yellow card: Guillamon
Castres: 15 Geoffrey Palis, 14 David Smith, 13 Rudi Wulf, 12 Romain Cabannes, 11 Rémi Grosso, 10 Antoine Dupont, 9 Julien Seron, 8 Alex Tulou, 7 Ibrahim Diarra, 6 Yannick Caballero, 5 Rodrigo Capo Ortega (c), 4 Christophe Samson, 3 Karena Wihongi, 2 Brice Mach, 1 Yannick Forestier
Replacements: 16 Marc-Antoine Ralllier, 17 Yohan Montès, 18 Piula Faaselele, 19 Johnnie Beattie, 20 Alexandre Bias, 21 Rémi Lamerat, 22 Thomas Combezou, 23 Florian Houerie
Oyonnax: 15 Quentin Etienne, 14 Dug Codjo, 13 Eamonn Sheridan, 12 Roimata Hansell-Pune, 11 Uwa Tawalo, 10 Nicky Robinson, 9 Piri Weepu, 8 Pedrie Wanneburg, 7 Olivier Missoup, 6 Pierrick Gunther, 5 Fabrice Metz, 4 George Robson, 3 Marc Clerc, 2 Jody Jenneker, 1 Stan Wright
Replacements: 16 Jérémie Maurouard, 17 Antoine Guillamon, 18 Leon Power, 19 Florian Faure, 20 Fabien Cibray, 21 Régis Lespinas, 22 Patrick Sobela, 23 Lukas Rapant
Venue: Stade Pierre Antoine, Castres
Referee: Tual Trainini
Assistant referees: Thomas Dejean, Jonathan Dufort