Cardiff Blues defeated Racing Metro 36-30 but were unable to score four tries, dashing their hopes of hosting a home quarter-final in the Heineken Cup.
Instead, it was a bittersweet victory for the Blues who must now face defending champions Leinster at the Aviva Stadium in the play-offs after failing to top Pool 2.
Racing Metro fly-half Jonathan Wisniewiski kicked an early penalty before Blues scrum-half Lloyd Williams charged down Frans Steyn's clearance and regained the ball to score.
Full-back Leigh Halfpenny converted and the Blues led 7-3.
Wisniewiski and Halfpenny exchanged penalties, before Racing Metro hit back when full-back Josh Matavesi finished off terrific inter-play on the right flank for the visitors.
Following successful penalties from Sebastien Descons and Halfpenny, Blues winger Alex Cuthbert profited from a knock-on, missed by the referee, to race away and score in the right corner.
Racing responded just four minutes later as Sireli Bobo stepped over from short range after a bullocking run from centre Fabrice Estebanez.
And the seesaw nature of this final pool match was emphasised even further in the closing minutes of the half as first Halfpenny and then Steyn knocked over penalties to make it 24-23 to Racing at the interval.
Cardiff struck within a minute of the restart as Cuthbert seized on some poor Racing defending to grab his second try of the match, with Halfpenny converting superbly from the touchline.
The Wales full-back continued his fine kicking display with a third penalty to cancel out an earlier Descons strike, but Steyn again cut Cardiff's lead with his own three-pointer.
With seven minutes remaining Halfpenny converted an easy penalty and Cardiff fought desperately for a fourth try - but it ultimately eluded them.
For Cardiff Blues:
Tries: Williams, Cuthbert 2
Cons: Halfpenny 3
Pens: Halfpenny 5
For Racing Metro:
Tries: Matavesi, Bobo
Pens: Wisniewski 2, Descons 2, Steyn 2
Cardiff Blues: 15 Leigh Halfpenny, 14 Alex Cuthbert, 13 Casey Laulala, 12 Gavin Evans, 11 Chris Czekaj, 10 Dan Parks, 9 Lloyd Williams, 8 Xavier Rush, 7 Sam Warburton, 6 Michael Paterson, 5 Paul Tito, 4 Bradley Davies, 3 Scott Andrews, 2 T Rhys Thomas, 1 Gethin Jenkins.
Replacements: 16 Ryan Tyrrell, 17 John Yapp, 18 Sam Hobbs, 19 Maama Molitika, 20 Josh Navidi, 21 Richie Rees, 22 Ceri Sweeney, 23 Tom James.
Racing Métro 92: 15 Josh Matavesi, 14 Henry Chavancy, 13 Frans Steyn, 12 Fabrice Estebanez, 11 Sereli Bobo, 10 Jonathan Wisniewski, 9 Sebastien Descons, 8 Sebastien Chabal. 7 Antoine Batut, 6 John Leo'o, 5 Francois van der Merwe, 4 Karim Ghezal, 3 Benjamin Sa, 2 Benjamin Noirot, 1 Mikaele Tuugahala.
Replacements: 16 Gregory Arganese, 17 Julien Brugnaut, 18 Juan Pablo Orlandi, 19 Jone Qovu Nailiko, 20 Mathieu Loree, 21 Juan Imhoff, 22 Remi Vaquiin, 23 Jacques Cronje.
Referee: Andrew Small (England)