Top 14 champions Castres hit back from 14-0 down inside the opening 15 minutes to edge past Exeter 29-25 in the Heineken Champions Cup, despite playing with 14 men for 44 minutes.
Back-rower Ma'ama Vaipulu was dismissed for a high tackle on hooker Luke Cowan-Dickie.
In the end, a yellow card for Henry Slade for tripping Florian Viallelle in a race to the line seven minutes from time cut short any hope of an Exeter comeback.
The Chiefs had the better of the opening exchanges as Santiago Cordero's mazy solo effort was followed moments later by a Matt Kvesic score. He squirmed through a lineout maul from Exeter's third penalty kick to touch in quick succession to score unopposed and hand the Chiefs a 14-0 lead after 14 minutes.
Castres found a rapid answer with a try from Florian Viallelle, who picked up a perfect pop pass to slice through Exeter's defence and Julien Dumora reduced the gap further three minutes later after Exeter conceded a penalty in front of the posts.
The battle at the breakdown was ferocious and Dumora slotted a drop goal following a galloping break from Steve Mafi to bring the hosts within a point.
Dumora then added a 31st-minute penalty to put Castres ahead for the first time, but soon after he was forced off by injury and his replacement Yohan Le Bourhis extended the lead to 19-14 with a nerveless penalty.
Vaipulu was then dismissed for that tackle on Cowan-Dickie and Exeter capitalised almost immediately when Gareth Steenson charged down a kick from Le Bourhis and gathered to level the half-time score at 19-19.
Mafi then charged through the Chiefs five minutes after the break and Le Bourhis converted to give the hosts a 26-19 lead early in the second period before Steenson narrowed the deficit with a penalty after another high tackle.
Le Bourhis and Steenson exchanged furthered penalties as the game headed into the final 20 minutes with four points separating the sides.
A Le Bourhis drop goal hit a post and desperate defence was needed as Exeter tried to make the extra man count before Slade's yellow evened up the numbers for the closing minutes.
Exeter elected to kick a penalty to touch with just over two minutes left to give themselves one last shot at victory.
But, after a knock-on at the following lineout, the Chiefs' front row conceded the penalty that gave the points to Castres, who maintained their two-year unbeaten run at home in Europe.