The defending champions will now face Toulouse in Marseille in two weeks time for a place in the final.
Arnaud Mignard and Julien Peyrelongue had put Biarritz in charge with two first-half tries with Peyrelongue's effort being from 85 metres.
That helped the visitors go in at the break leading 6-17 but Clermont were given a helping hand when Biarritz's English full-back Iain Balshaw was sin-binned early in the second-half.
The game quickly turned on its head as Brock James went over for a converted try before Alexandre Lapandry and Jeremy Malzieu then scored within five minutes of each other.
Biarritz were unhappy with Lapandry's try though as they felt Marcelo Bosch may have got a hand under the ball but the video referee awarded the try despite inconclusive evidence.