Nikki Walker's try brought the Ospreys level at the Liberty Stadium
Ospreys: (6) 22
Pens: Hook (5)
Stade Francais: (16) 22
Pens: Skrela (2), Beauxis (2)
Lionel Beauxis' late penalty snatched a draw for Stade to leave the Ospreys' Heineken Cup hopes hanging by a thread.
The French league-leaders led 6-16 at the break after Juan Martin Hernandez's try - which had a hint of a forward pass - and David Skrela's kicking.
Nikki Walker's 68th-minute try levelled the scores, with James Hook converting to add to his four previous penalties.
Hook's 75th-minute penalty looked to have won it for the home side, but Beauxis held his nerve to grab a draw.
Gavin Henson almost gave the home side victory with virtually the last kick of the match, but his long-range drop-goal flew agonisingly wide of the posts.
Stade top Pool Three on 17 points, with the Ospreys in second a point in front of Sale ahead of next weekend's final round of group games.
The Ospreys suffered an early blow when they lost blind-side flanker Filo Tiatia to injury in the second minute, with Andy Lloyd coming off the bench.
Moments later winger Walker, who passed a late fitness test, produced a superb tackle to deny Stade flyer Christophe Dominici a try in the right corner.
Hook's late penalty for the Ospreys was cancelled out by Beauxis
The visitors' lively start was rewarded with a Skrela penalty after seven minutes, but Hook - who followed Skrela in missing his first attempt - levelled the scores on 14 minutes with his first successful kick.
Stade scored their try, which Skrela converted, eight minutes later when Hernandez won the race to ground Boela du Plooy's kick ahead.
But du Plooy's initial break came from an obvious forward pass from Dominici which the officials failed to spot.
Hook replied with another penalty, but a drop-goal and penalty from Skrela gave the visitors a 16-6 half-time lead their dominance deserved.
Beauxis, who replaced Skrela after a clash of heads with Henson, extended Stade's lead with a 54th-minute penalty as the Ospreys continued to struggle to exert any attacking pressure.
Henson returned to the field after receiving stitches to his head wound and immediately made a rare Ospreys break in Stade's 22.
The home side had to settle for another Hook penalty, but Du Plooy was sent to the sin-bin for killing the ball in a ruck.
A fourth Hook penalty followed three minutes later as the Ospreys finally became to make in-roads into the Stade defence.
The whole complexion of the match had changed in a flash, and the turnaround was complete when Walker finished off a flowing move from their own half to touch down under the posts.
Walker came agonisingly close to scoring a second moments later, but he failed to hang on to Hook's off-load after the fly-half sliced through the Stade defence after Justin Marshall's initial break.
The rampant Ospreys took the lead for the first time in the match when Hook kept his nerve to land a long-range penalty five minutes from time.
A Hernandez drop-goal sailed inches under the posts as the match entered injury-time, but Beauxis made no mistake with a 50m penalty to level the scores and break Ospreys' hearts.
Ospreys number eight Ryan Jones:
"It was me who gave away the penalty. I didn't think he [Beauxis] would make it from that range, but he did, and I had to say sorry in the dressing room afterwards.
"Stade are seasoned performers in the Heineken Cup, and they did a real job on us in the first half, but we regrouped in the second period.
"We are pretty disappointed - we didn't deserve to win the way we played in the first-half."
Stade Francais scrum-half Agustin Pichot:
"We were very close to throwing the game away.
"When you think you have won, you can sometimes lose your grip and let it go, and we made some mistakes.
"We performed really well in the first half - we didn't let them play. We had control of the game, but we always seem to lose a bit of concentration away from home.
"For many of us at Stade Francais, this season is probably our last chance of winning the Heineken Cup, and that is our goal."
Ospreys: Byrne; Walker, A. Bishop, Henson, S. Williams; Hook, Marshall; D. Jones, B. Williams, A. Jones, Cockbain, A. Jones, Tiatia, Tandy, R. Jones, Lloyd.
Replacements: Lloyd for Tiatia (3), Powell for Lloyd (52), Terblanche for Byrne (38), Spice for Marshall (77), James for D. Jones (77).
Not Used: Shervington, Connor.
Sin Bin: Spice (80).
Stade Francais: Martin Hernandez; Saubade, Messina, Liebenberg, Dominici; Skrela, Pichot; Roncero, Blin, Marconnet, Auradou, du Plooy, Burban, Rabadan, Parisse.
Replacements: Beauxis for Skrela (45), M. Bergamasco for Messina (55), Szarzewski for Blin (59), Martin for Burban (65), M. James for Auradou (70).
Not Used: Montes, Fillol.
Sin Bin: du Plooy (60).
Ref: Chris White (RFU).