City fell behind to Maxwel Cornet's strike in a sloppy first half and although they looked like their usual selves after the break and levelled through Kevin de Bruyne, they were downed by two strikes from second-half substitute Moussa Dembele, sandwiched between an unbelievable open-goal miss from Raheem Sterling.
- Stream ESPN FC Daily on ESPN+ (U.S. only)
- Olley: Pep's tormented tactics lead to latest nightmare
- Man City ratings: Sterling, Laporte 5/10 in shock defeat
- Champions League, Europa League schedule
"It is what it is and hopefully one day we'll bridge this gap," Guardiola told BT Sport after a fourth successive failure in the Champions League with City.
"We struggled in the first 25 minutes but in the second half we felt free, we were there and I had the feeling we were better than them but you have to be perfect in this competition and we were not."
Guardiola did not complain about Lyon's second goal, which survived a VAR review after a potential foul by Dembele on City defender Aymeric Laporte.
"I don't know, I don't want to talk about those circumstances because sometimes it seems like I'm complaining or looking for excuses," he said. "We are out, I had the feeling we were incredible already, but we made mistakes in the boxes in the key moments."
Guardiola also rued Sterling's astonishing miss which would have made it 2-2 and was promptly punished by Dembele's second goal which was the killer blow.
"That moment sums up this competition, we had to equalise and after we conceded the third goal. That's this competition, you have to be perfect," he said.
"We created more chances, had more shots, we did everything but unfortunately we are out again."
Dembele conceded he was disappointed to start on the bench on Saturday but was thrilled to be the hero afterward.
Named as a substitute by coach Rudi Garcia, who chose Memphis Depay and Karl Toko Ekambi up front instead, the 24-year-old Dembele scored shortly after coming on in the 75th minute and then wrapped up the 3-1 win three minutes from time.
His goals prompted wild scenes on the streets of Lyon on Saturday as fans gathered in the city centre, dancing and lighting flares to celebrate their victory over pre-match favourites City.
"It was a complicated game against a very great team. For a player, there is always a little bit of sadness to start on the bench, but I made a difference," Dembele told French television.
"We made the promise to give everything. The spirit of the group has changed, we know that we are a great team."
Coach Garcia also praised his side's team spirit and revealed that Ligue 1's decision not to resume following the COVID-19 pandemic had benefited the team.
"We adapted to the suspension of Ligue 1, we had eight weeks of pre-season, it's massive. Our fitness coach really came up with the perfect solution for our players," he explained, while also conceding that his players tired towards the end.
They managed to hold on to their 3-1 lead, and a semifinal against German giants Bayern Munich now awaits.
"We're developing a taste for things, but our confidence levels are growing in this squad, our results have shown that, but we'll still be the outsiders, the underdogs against Bayern Munich," Garcia said.