Antoine Burban's 77th-minute try clinched a dramatic bonus point that saw Stade Francais move ahead of the Exiles on match-points gained in their back-to-back games.
It was a major blow for previously unbeaten London Irish after Andrew Fenby's early try handed them a perfect start at Stade Jean Bouin.
Wing Fenby raced onto Shane Geraghty's pinpoint cross-field kick but Stade hit back through Jules Plisson in the 12th minute. Jerome Porical converted and then cancelled out Geraghty's first successful kick as the lead changed hands three times in the first half.
The Exiles saw prop Leo Halavatau binned for a professional foul as Stade's Michael van Vuuren, who replaced hooker Aled de Malmanche after only three minutes, crossed.
Geraghty kicked two penalties either side of Geoffrey Doumayrou's yellow card but Porical nudged the hosts 20-14 ahead at the break.
The game swung in the space of three minutes early in the second half when Geraghty missed the chance to half the lead only for Porical to finish a break by Hugo Bonneval to open a 13-point gap. Burban ensured maximum points late on.