The Ospreys had their Heineken Cup dreams all but ended on Friday as they fell to a 15-9 loss to French champions Castres at Stade Pierre Antoine.
Ospreys produced an outstanding defensive display to withstand sustained pressure in the second-half and keep their line intact.
Castres points came from the boots of Rory Kockott and replacement Geoffrey Palis, while Dan Biggar maintained his record of scoring all of Ospreys' Heineken Cup points this season with three successful kicks at goal.
Try scoring opportunities were few and far between in a penalty strewn first-half which saw the dangerous Aisea Natoga sin-binned on his Heineken Cup debut.
But faltering Castres were unable to capitalise and the sides went into the interval level at 6-6 after Kockott and Biggar had traded penalties.
Castres enjoyed total domination in terms of possession and territory after the break and it seemed only a matter of time before Ospreys would crack.
Kockott kicked his third penalty of the night on 48 minutes and added another three-pointer on the hour mark - after Sam Lewis had been yellow carded for Ospreys - to make it 12-6 to Castres, who went in to the game on the back of a 15-match unbeaten home run.
A flurry of substitutions followed before Biggar and Palis both kicked a penalty apiece to take the score to 15-9 in Castres' favour.
Ospreys finally found some fluency in attack as the clock ticked down and sustained phase play in the home side's 22 saw them go close on several occasions.
Faced with a fierce onslaught Castres were forced to give away cynical penalties and Palis and replacement back Seremaia Bai were both sent to the sin-bin in a frantic finale.
Up against 13 men it seemed certain Ospreys would break the French resistance, but four minutes into stoppage time referee Peter Fitzgibbon penalised the visitors for holding on - ending their hopes of registering a historic second win on French soil.
Pen: Kockott 4, Palis
Pen: Biggar 3
Castres: 15 Brice Dulin, 14 Marcel Garvey, 13 Romain Cabannes (capt), 12 Paul Bonnefond, 11 Remi Grosso, 10 Daniel Kirkpatrick, 9 Rory Kockott, 8 Pedrie Wannenburg, 7 Piula Faasalele, 6 Ibrahim Diarra, 5 Richie Gray, 4 Christophe Samson, 3 Karena Wihongi, 2 Marc-Antoine Rallier, 1 Mihaita Lazar.
Replacements: 16 Michael Coetzee, 17 Yannick Forestier, 18 Anton Peikrishvili, 19 Rodrigo Capo Ortega, 20 Yannick Caballero, 21 Julien Tomas, 22 Seremaia Bai, 23 Geoffrey Palis.
Ospreys: 15 Richard Fussell, 14 Aisea Natoga, 13 Tom Isaacs, 12 Ben John, 11 Jeff Hassler, 10 Dan Biggar, 9 Rhys Webb, 8 Ryan Jones, 7 Justin Tipuric, 6 Tyler Ardron, 5 James King, 4 Alun Wyn Jones (capt), 3 Aaron Jarvis, 2 Scott Baldwin, 1 Ryan Bevington.
Replacements: 16 Richard Hibbard, 17 Duncan Jones, 18 Dan Suter, 19 Morgan Allen, 20 Sam Lewis, 21 Tom Habberfield, 22 Matthew Morgan, 23 Tom Grabham.
Referee: Peter Fitzgibbon (Ireland)
Assistant referees: David Wilkinson (Ireland), Olly Hodges (Ireland)
TMO: Jude Quinn (Ireland)