Castres took over from Munster at the top of Pool Four in the Heineken Cup after a closely-fought match at the Stade Pierre-Antoine.
Castres (13) 19
Pens: Marticorena 4
Munster (3) 12
Pens: O'Gara 4
The French side got the only try of the game just before-half-time as a slick passing move led to winger David Bory going over in the left corner.
Three Ronan O'Gara penalties cut a 13-3 interval deficit to just one point but two Marticorena penalties sealed it.
The return game is at Thomond Park in Limerick on Saturday 11 December
Munster had led early on through an O'Gara penalty but Castres replied with two successful kicks from centre Laurent Marticorena.
Castres lost winger Bradley Fleming through injury on 23 minutes but they got the only try of the game just before half-time and it proved to be a vital score.
The ball was moved out to the left and Bory punished a couple of missed tackles to touch down in the corner. Marticorena added a good conversion to leave the 2003 Shield winners 13-3 in front at the interval.
O'Gara scored three penalties without reply to slice the deficit to 13-12 after 56 minutes. The Irish fly-half then had a chance to edge Munster in front but his effort from halfway fell short.
Castres saw off the Munster revival with two Marticorena penalties settling the issue.
Castres: Mola, Fleming, Marticorena, Denney, Bory, Sadourny, Albouy, Fitzpatrick, Vigneaux, Galasso, Nallet, Spanghero, Bias, Capo, Volley.
Replacements: Argenese, Reggiardo, Froment, Deen, Morales, Dourthe, Lhande.
Munster: Cullen, Lawlor, Payne, Henderson, T. Hogan, O'Gara, Stringer, M. Horan, F. Sheahan, J. Hayes, O'Callaghan,
O'Connell, Williams, Wallace, Foley.
Replacements: Blaney, McIlwham, T. Hogan, Quinlan, Prendergast, Burke, Mullins.
Referee: N Whitehouse (Wales).