Racing 92 will face Saracens at home in the Heineken Champions Cup semi-finals after they kept Clermont Auvergne at bay in their all-French last-eight tie.
Racing, steered by Scotland's Finn Russell at 10, sent wing Louis Dupichot into the corner after three minutes.
A deft chip and collect from Francois Trinh-Duc opened up a 16-point half-time lead for the Parisians.
Clermont rallied with tries from Damian Penaud, Kotaro Matsushima and Wesley Fofana but could not close the gap.
The hosts outscored Racing by four tries to two but 20 points from the boot of visiting scrum-half Teddy Iribaren proved decisive.
Racing will also have been cheered by the return of Ireland international Simon Zebo who came through his return from a foot injury unscathed.
He filled in at full-back in place of Australian playmaker Kurtley Beale who was banned for the match after a high tackle in Racing's domestic win over Montpellier last week. Beale's suspension also rules him out of next Saturday's meeting with Saracens.
Racing's last encounter with Saracens came in the 2016 final when the English side won the first of their three Champions Cups.
Racing, bankrolled by billionaire real estate magnate Jacky Lorenzetti, are aiming to win Europe's big prize for the first time after losing the 2018 final to Leinster.