Castres er delt fra nord til sør av elvene Agout og Durenque. Elva Thoré utgjør mesteparten av kommunens grense mot sørøst, før den løper sammen med Agout, som utgjør en del av byens grense mot vest.