Lyon won away to City in the 2018-19 group stage - also drawing at home - and they again had the tournament favourites' number in Lisbon on Saturday.
Maxwel Cornet scored in both prior meetings between the sides and was on target once more midway through the first half as City struggled to get to grips with the five-man defence named by Guardiola.
That formation was ditched before the hour mark and Kevin De Bruyne equalised, but substitute Moussa Dembele restored Lyon's lead following a contentious counter-attack with 11 minutes remaining and then added another after an Ederson error.
VAR checked (again).— Champions League on CBS Sports (@UCLonCBSSports) August 15, 2020
Moussa Dembélé right off the bench puts Lyon ahead! pic.twitter.com/Swz1Pfm6Ag
Raheem Sterling remarkably missed an open goal between Dembele's decisive strikes as City suffered further European misery in stunning fashion.
Moussa Dembélé again!— Champions League on CBS Sports (@UCLonCBSSports) August 15, 2020
Lyon pull ahead by two! pic.twitter.com/2jIOHufamo