The point confirms City will finish second in their group with one game left.
Gladbach are confirmed in third -- which means the last 32 of the Europa League -- after bottom side Celtic lost 2-0 at home to Barcelona, who win Group C.
Despite having won just once in their previous six home games Gladbach's spirited performance at Borussia Park caused City plenty of problems.
Raffael's goal midway through the first half was cancelled out by City's David Silva on the stroke of half-time.
Gladbach then had captain Lars Stindl sent off on 50 minutes for a second yellow card and then Fernandinho followed him for City with his second yellow after pulling back Raffael.
"We had the game under control in the first half and then we lost it when we conceded the goal," said Guardiola.
"We played much better in the second half, but the sending off for Fernandinho completely changed the game.
"The result was good for both teams."
This was not a convincing display from City, particularly in the first half.
Guardiola had named a star-studded attack with Jesus Navas and Raheem Sterling playing either side of Sergio Aguero.
The Argentine international scored a hat-trick when City beat Gladbach 4-0 at the Etihad Stadium in September.
Ilkay Gundogan and Silva started in midfield having been left out of the starting side for City's 2-1 win at Crystal Palace last Saturday.
Gladbach were without Belgium striker Thorgan Hazard, who was left out of the squad for "personal reasons".
Raffael started as the lone striker with Stindl in the attacking midfield role and the hosts took a deserved lead on 23 minutes.
City's John Stones, who had earlier been nutmegged by Nico Elvedi, lost out in the air to Stindl, who charged to the edge of the box.
The ball found its way to Raffael, whose shot around the back of Sterling and gave City goalkeeper Claudio Bravo no chance.
It should have been 2-0 on 32 minutes when Sweden's Oscar Wendt found his way through the City defence, but Bravo saved from close range.
City's best chance fell to Gundogan on 35 minutes when Gladbach goalkeeper Yann Sommer blocked his shot from the edge of the area.
Gladbach lost Guinea winger Ibrahima Traore to injury on 40 minutes, which unsettled their attack.
City drew level when Kevin De Bruyne slipped his pass to Silva, who stroked home for 1-1 just before the half-time whistle.
Gladbach got off to a bad start in the second-half. Stindl was dismissed for a second yellow card after his stray elbow caught City defender Nicolas Otamendi.
City were also reduced to 10 men when Fernandinho was sent off for his second yellow on 63 minutes for pulling Raffael's shirt.
The dismissal breathed life into Borussia as Raffael hit the City post moments later.
At the other end, City pushed for the winner with Silva and Aguero creating chances, but Sommer and the Gladbach defence held firm.
"Overall, we are very happy with the third place," said Gladbach coach Andre Schubert.
"In the first half we played an outstanding game and could have scored a second goal."