Leinster's hopes of winning the Heineken Cup for the third season in a row were dealt a blow when they were defeated for a second time by Clermont-Auvergne, who lead Pool Five by eight points.
Leinster must now defeat both Scarlets and Exeter in the last two pool matches and hope that they can qualify for the quarter-finals as one of the best two group runners-up.
Morgan Parra was man of the match, masterminding the victory and landing eight of his nine kicks at goal for 23 points.
A crowd of 48,964 – an Irish record for a European pool match – watched Wesley Fofana go over for a try five minutes before the break to help Clermont push 16-6 clear.
As Leinster continued to leak penalties, Parra kept Clermont on course to end a run of five straight defeats in Ireland since 2007.
The margin was widened to 25-9 before Leinster recovered to score two tries in the closing quarter-hour through Shane Jennings and Fergus McFadden, the latter's effort coming in a daring last-minute raid and securing the losing bonus point.
The Ospreys stood up for embattled Welsh rugby with a stirring 17-6 victory over Toulouse that kept them in the running to reach the quarter-finals of the Heineken Cup.
Dan Biggar kicked two penalties and a drop goal to give the hosts a 9-6 half-time lead, with a further penalty from the fly-half and a fine finish from the man of the match, wing Eli Walker, sealing victory at the Liberty Stadium.
Ospreys restricted Toulouse to a penalty and a drop goal from Jean-Marc Doussain, which denied the visitors even a losing bonus point and left Pool Two a three-way fight. Ospreys need to beat Leicester and Treviso and hope other results go their way if they are to advance.
In the Amlin Challenge Cup, Bath maintained their perfect record in Pool Four with a 39-5 victory away to Calvisano, with Horacio Agulla scoring a hat-trick of tries.
Shane Monahan went one better by running in four tries as Gloucester overwhelmed London Irish 47-3 to move seven points clear at the top of Pool One. Rob Cook and Dan Robson also crossed, with Freddie Burns converting four of the tries and landing three penalties.
London Welsh suffered a 27-13 home defeat to Grenoble in Pool Five, with Laurent Bouchet claiming two tries and Florian Ninard one before Mike Denbee gave the Exiles some consolation with a try.