The Citizens left it late at the Etihad Stadium against the Germans to hold the aces going into the second leg.
Kevin De Bruyne broke the deadlock of the game inside the opening 19 minutes after meeting a low cross from Riyad Mahrez.
City thought they had won a penalty on 30 minutes when Emre Can made a challenge on Rodri inside the area but the decision was overturned by VAR.
Marcos Reus pulled parity on 84 minutes with a sublime finish but Phil Foden restored the hosts’ lead during the dying embers and it was enough to give Guardiola’s men a crucial win.
“Better to win than draw. 2-1, Champions League, we are going there to win the game. In the first half we were not clever with the ball,” Guardiola said.
“The second half was much better, we had two or three clear chances to score the second and third but it didn't happen. After we concede 1-1 we scored the final goal.
"Dortmund are strong, a good quality with the players they have and the quality it is difficult to do what we want to do it but 2-1 and we have a good chance next week.
"We are going to watch the game. We will adjust a few things to go there and try to win the game. Our next stop is Leeds and then we go to Germany to try and win the game.
"Borussia Dortmund is a typical club from the Champions League. We have one more game there and with the result 2-1 we will try to score the goals there to win.
"We are going to analyze what we have to do like we have done for four or five months. Every game we play to win."
Foden caused a lot of problems for the visitors in the second half and ended up scoring the winning goal.
“Second half he was a threat for them. He had two or three chances to score and finally he scored,” Guardiola concluded.