Paris - Defending champions Castres will play European champions Toulon in a repeat of the 2013 French championship final after they edged Montpellier 22-19 after extra-time in an engrossing encounter in Lille on Saturday.
For Castres it was the third successive time they had beaten Fabien Galthie's Montpellier in the play-offs after their opponents had got the better of them on their way to the final in 2011.
While Castres South African scrum-half Rory Kockott scored 14 of their points it was 35-year-old Fijian centre Seremaia Bai who dropped a rare goal on the stroke of half-time of extra-time that made the difference in the end.
Castres will meet Toulon at the Stade de France in a fortnight, a year on from beating them 19-14 in the final, and just a week after their opponents play English side Saracens in the European final.
Toulon beat Racing-Metro in Friday's first semi-final.
Kockott, the mastermind behind their title win last season, kicked them into an early 3-0 lead, although Francois Trinh-Duc levelled shortly after Castres had wing Remy Grosso sin-binned.
However, Montpellier were unable to turn the one man advantage into points and it was Castres who edged ahead again through a long range penalty by Kockott in the 21st minute.
Kockott missed a chance to make it 9-3 but that was compensated for when France's South Africa-born international No8 Antonie Claessens stormed over for a try which Kockott converted for 13-3.
However, Montpellier got back into the match as New Zealand wing Rene Ranger burst through the centre of the Castres defence and touched down under the posts -- Trin-Duc converted after he had recovered from a heavy knock picked up in the move leading to the try.
Castres should have gone in at half-time with a bigger lead as they had an overlap out on the right wing but a superb tackle by young fullback Pierre Berard saved Montpellier as he got his man over the touchline just as he dived to touch down.
Kockott scored an early second-half penalty to make it 16-10 but a couple of quickfire penalties by Trinh-Duc levelled the game at 16 apiece in the 57th minute.
Trinh-Duc gave Montpellier the lead for the first time in the match just after the hour mark but Kockott levelled at 19-19 in the 66th minute.
Kockott, who France coach Philippe Saint-Andre would like to include in his future plans, missed a late chance to settle the match in normal time but his penalty attempt from inside his own half went well wide of the posts.
The game went into extra-time and Castres had the first real chance with Claessens releasing Remi Lamerat but he was hauled down just short of the line and in his desperate effort to stretch over the tryline he dropped the ball and it went forward.
However, Castres went ahead from an unusual source on the stroke of half-time of extra-time as Bai took his chance and dropped a goal to make it 22-19.
Kockott missed with a penalty attempt a minute into the second period and despite Montpellier twice having the opportunity to take advantage of five metres scrums Castres came away with the ball and ended their hopes of revenge.