Puel was only appointed on Friday, taking up his first role since being sacked by English Premier League side Leicester during February.
The French coach had been handed a baptism of fire, his side sitting second-last in table as they prepared for the Rhone-Alpes showdown.
Lyon, meanwhile, were looking to build on a 2-0 Champions League win at RB Leipzig, and out to secure a first Ligue 1 success since mid-August.
With tempers starting to rise, Lyon defender Marcal was shown a yellow card in the 16th minute for a late tackle on St Etienne forward Charles Abi.
At the other end, Memphis Depay sent a long-range free-kick just wide as the first-half finished goalless.
Lyon thought they had broken the deadlock on the hour.
Houssem Aouar raced onto a pass down the left and into the penalty area, before clipping a low, angled shot into the far corner.
The midfielder's celebrations, though, were cut short by an offside flag, which looked a very marginal call from the referee's assistant.
Lopes had to remain alert as the Lyon keeper produced another good reaction save to deny Denis Bouanga.
Aouar continued to provide Lyon with an outlet, and weaved his way into space before seeing a goalbound shot pushed behind for a corner.
Defender Leo Dubois hobbled off for the closing stages, leaving the visitors with only 10 men having used all of their substitutes, before Aouar shot wide.
Just when it looked like both sides would have to settle for a point, Beric headed home a winner in the final minute.
Boudebouz found space on the far touchline before floating a deep cross into the Lyon penalty area, where Beric planted a diving header into the top corner to spark wild celebrations from the home fans.