© Getty Images
Dimitar Berbatov headed just over on 15 minutes for a Monaco team represented by eight different nationalities, and then provided the cross from which Yannick Ferreira-Carrasco headed straight at home goalkeeper Anthony Lopes, who was the only non-French player in the Lyon lineup.
One of Lyon's youngest homegrown stars linked up with veteran Steed Malbranque to give them the lead on the half-hour mark, as Fekir found the bottom corner for just his second professional goal.
The combination of Ocampos and Geoffrey Kondogbia led Monaco's pursuit of an equaliser as the latter forced Lopes into a smart save after being released by the Argentine winger's intelligent pass.
Ocampos blazed over from Joao Moutinho's cross three minutes before he did level the scores by applying the finishing touches to a rapid 39th-minute counter-attack, which was started by Kondogbia.
© Getty Images
The visitors took this momentum into the second period and former Premier League star Berbatov twice could have put them ahead, but could not make the most of headers from Nabil Dirar crosses.
Andrea Raggi and Ferreira-Carrasco also threatened for Monaco, but it was Lyon who scored the decisive third goal when left-back Tolisso struck with his weaker foot from 15 yards on 73 minutes.
Monaco, who have now lost only one fewer game than they did on their way to finishing runners-up last season, lumped the ball long in search of a late point, but again Berbatov could not generate enough power on a headed effort in stoppage time.
The result sees Lyon climb to 12th in the table, while Monaco fall to 16th under new manager Leonardo Jardim.