Eli Walker's brilliant solo try earned Ospreys a crucial Heineken Cup win against Pool Two leaders Toulouse to keep their quarter-final hopes alive.
The wing weaved past three defenders to reach the left corner and gain revenge for their recent loss in France.
Four-time European champions Toulouse looked lacklustre but were in touch thanks to a penalty and a drop-goal from Jean-Marc Doussain.
But Ospreys fly-half Dan Biggar kicked 12 points to seal the win.
Ospreys entered the game a distant third in Pool Two, with only five points from their opening three group fixtures.
That was courtesy of a home win over Treviso, with the Welsh region having lost both away encounters at Leicester and Toulouse.
Ospreys started brightly and an early Biggar penalty gave them a deserved early advantage.
Toulouse full-back Maxime Medard and his wings were having considerable difficulty dealing with high balls in the swirling, moisture-heavy air.
And Ospreys doubled their lead through a Biggar drop-goal after another steepling Garryowen was allowed to bounce in the Toulouse 22.
Patricio Albacete was sin-binned after raking his studs over a prone Ian Gough but Toulouse kept driving forward and Doussain kicked a penalty when Ospreys went off their feet at a ruck.
With Albacete absent, though, Ospreys turned the screw at the scrum, working their way into the Toulouse 22 before winning a penalty, which Biggar kicked.
A Doussain drop-goal on the stroke of half-time trimmed the Welsh lead to 9-6.
Soon after the restart, Wales and Lions prop Adam Jones came off the bench for his first game since being injured against Leicester in October, replacing Campbell Johnstone at tight-head.
Ospreys coach Steve Tandy also replaced Gough with Lloyd Peers, but opposite number Guy Noves countered by sending on Yannick Nyanga, Jean-Baptiste Poux and Christopher Tolofua.
Doussain could have drawn Toulouse level but his 40-metre penalty kick from in front of the posts drifted left and bounced off an upright.
Toulouse captain Jean Bouilhou became the second man to get a yellow card as he tackled Walker high and Biggar kicked the resulting penalty.
Walker made a crucial breakthrough as the left-wing brushed aside Yoann Huget to go over at the corner for an unconverted try.
Ashley Beck then knocked on as he reached for the line, which almost proved costly. With five minutes left, Jones was sin-binned for his part in stopping a Toulouse rolling maul, which went over the Ospreys line but was held up by Justin Tipuric.
Toulouse opted for the five-metre scrum from the penalty but the weakened Ospreys pack disrupted the French shove and Tipuric pounced on the loose ball.
In a frantic final minute Andrew Bishop intercepted a Toulouse pass in his own 22 to release Walker.
The wing outstripped his support and opted to kick ahead, allowing Toulouse to regather and launch one last attack down the right but the final pass was loose and the ball sailed into touch.
Leicester's saw them take over at the top of Pool 2, but Ospreys are five points behind and next play the English side in Swansea in January.
Ospreys backs coach Gruff Rees: "We said we would play to the last in this group regardless of the results. We knew three wins from our last three games might give us a quarter-final place in this competition or the Amlin Challenge Cup.
"Leicester have snuck a result in Treviso which does not help us, but it puts something on the game at home to them next month.
"We will just continue to plough on in terms of what we want to achieve."We think we offer a light at the end of the tunnel. People are quick to beat up Welsh rugby but we are confident in the future direction of the team."
Ospreys: Richard Fussell; Ross Jones, Andrew Bishop, Ashley Beck, Eli Walker; Dan Biggar, Kahn Fotouali'i (capt); Ryan Bevington, Richard Hibbard, Campbell Johnstone, Ian Gough, James King, Ryan Jones, Justin Tipuric, Joe Bearman.
Replacements: Scott Baldwin, Duncan Jones for Bevington (59), Adam Jones for Johnstone (45), Lloyd Peers for Gough (45), George Stowers, Rhys Webb, Matthew Morgan for Biggar (76), Tom Isaacs.
Sin Bin: A. Jones (76).
Toulouse: Maxime Medard; Vincent Clerc, Yann David, Gael Fickou, Yoann Huget; Jean Marc Doussain, Luke Burgess; Vasil Kakovin, Gary Botha, Census Johnston, Yoann Maestri, Patricio Albacete, Jean Bouilhou (capt), Thierry Dusautoir, Louis Picamoles.
Replacements: Christopher Tolofua for Botha (50), Jean-Baptiste Poux for Kakovin (50), Yohann Montes for Johnston (64), Romain Millo-Chluski, Yannick Nyanga for Dustautoir (50), Gregory Lamboley for Bouilhou (70), Yannick Jauzion for David (68), Sebastien Bezy.
Sin Bin: Albacete (25), Bouilhou (60).
Referee: George Clancy (Ireland)
Assistant referees: Peter Fitzgibbon (Ire), Richard Kerr (Ire).
TMO: Kevin Beggs (Ire).
Citing commisioner: Tony Lanaway (Eng).