Joao Cancelo was sent-off as Andreas Perieira's penalty equalised a Julian Alvarez goal.
Erling Haaland then gave City the win with a penalty in the fifth minute of stoppage time - a result which sees Guardiola's men leapfrog Arsenal at the top of the Premier League for 24 hours at least.
"Everyone was exceptional. 65 minutes against Fulham to play the way we played, the moment of my period in Manchester by far, the score at the end and the celebrations with our people. We don't win the Premier League today, of course, but this moment makes sense of our jobs. All of us. Seeing the faces of our crowd. Making the pitch walk was really good." said Pep Guardiola
"The penalty was not the best penalty I've seen in my life but I say he hit it strong. Always I say about Riyad. If you do soft to one side it's 50/50, if it's strong it's 75/25. Leno, I know him from Germany, an incredible saver of penalties, a really good one. Finish good, today the destiny at the end looks like everything was against us, we could do it."