Montpellier started the day at the top of the table, but suffered a second defeat of the season at Stade Jean-Bouin to slip down to second.
Montpellier, missing expensive recruit Aaron Cruden and Jannie du Plessis due to injuries, reduced the deficit to three points in the second half with converted tries from Bismarck du Plessis and Nemani Nadolo.
Stade were not to be denied in Paris, though, Jules Plisson taking his tally from tee to 16 points prior to Ensor scoring the final try of the game.
Lyon grasped their opportunity to take over at the summit, outscoring Agen by three tries to nil, extending their winning run to four matches.
Bordeaux-Begles occupy third spot following a 30-27 victory over Toulon, while Brive claimed their first Top 14 victory of the season with a 27-22 success against Castres, and Pau were 19-16 victors at struggling Oyonnax.