Guardiola’s side had no margin for error as a defeat would have left them 10 points behind the Reds and in danger of surrendering the title they won in record-breaking fashion last season.
But they rose to the challenge in thrilling style, beating Liverpool for the first time in five meetings thanks to Leroy Sane’s superb strike in the second half.
Sergio Aguero had put City ahead in the first half and although Roberto Firmino equalised after the interval, City held their nerve with a courageous display that had Guardiola singing their praises.
“I am proud of them. We knew that it was a final today, if we lose it is almost over,” Guardiola said.
“All credit to these incredible players. We had a lot of pressure but we were not scared, we had no fear.
“We beat an incredible team. We were outstanding from the first minute.
“Liverpool don’t concede goals, and we scored two. We played with courage, so aggressive in our pressing.
“We are happy for this victory to reduce the gap. Everything is open.”
Guardiola reserved special plaudits for Aguero after the Argentina forward scored his 250th career league goal with a sublime strike in the 40th minute.
City’s all-time leading scorer has now netted in all seven of his home league games against Liverpool.
“We need Sergio Aguero in these games, his quality makes the difference,” Guardiola said.
“To win these games, he has done it all his career and his finish was incredible.”
Aware that a defeat would have put the champions in deep trouble in the title race, Guardiola urged his players to use their vital victory as a springboard to pile further pressure on Liverpool.
“Now we are four points behind them and they are the leaders. We have to fight a lot, but this gives us a lot of confidence,” he said.
“We knew that if we won we would be in contention to fight for the Premier league, if we lose it is over.
“I don’t remember a league so tough, there are so many huge contenders fighting for the title. It is closer, every game is a final.”