The Chilean, who replaced Ederson as an injury precaution at half-time, was dismissed for a foul on Josip Ilicic that saw Walker don the gloves for the final nine minutes in Italy.
Raheem Sterling continued his remarkable goal scoring run to give the visitors an early lead at the San Siro, where Pep Guardiola's side experienced contrasting halves.
We effortlessly dominated the first, but Gabriel Jesus missed a penalty to extend our lead and Atalanta emerged a different proposition after the break.
Mario Pasalic crashed a header past Bravo to equalise as City struggled to replicate our first half fluency and though Walker's appearance between the sticks made for a nervy final 10 minutes, we did enough to see out the game and take a point.
City exuded confidence in the opening 45 minutes, starving Atalanta of possession and making them chase the ball with little reward as our speed of passing and movement proved a conundrum the hosts couldn’t solve.
The unmarked Hans Hoteboer volleyed into the side netting in the opening minutes for the Serie A side, but moments later they were left watching as a vintage Guardiola move put City ahead.
Jesus’ showed great awareness to back heel Bernardo’s incisive pass perfectly into Sterling’s path, who stroked the ball into the bottom right corner without breaking stride for his 14th goal of the campaign.
He was a constant menace and but for a last ditch Hoteboer block, would have added a second before he created the perfect opportunity for City to score a goal that could have won the game.
VAR had already overturned a penalty after correctly adjudging City’s No.7 to be outside the area when Rafael Toloi pulled him back, but his resulting free-kick cannoned off Ilicic’s hand only for Jesus to roll the spot-kick wide of the left post.
It was one-way traffic but whereas Atalanta were left chasing shadows in the opening 45 minutes, they were well in the game after the break having levelled within four minutes of the restart.
Alejandro chased a long ball down the left flank and when Nicolas Otamendi stood off him, the skipper whipped in a teasing cross from the left which the unmarked Palasic met emphatically to bullet a head beyond Bravo.
It was the galvanising moment the hosts needed. They looked visibly energised, and got much closer to City whose play was not as assured as it had been in a slick first half.
Sterling’s heavy touch after a slide rule pass from Fernandinho epitomised the difference, while Atalanta offered more in the final third and it was one counter attack which nearly proved to be City's undoing.
Bravo had read the move and was already out of his area as Ilicic raced clear of our defence, but the keeper caught the Croatian as he tried to round him and, after a lengthy delay to allow for a VAR decision, was dismissed.
Step forward, Walker.
The 29-year-old was immediately tested by the resulting free-kick, which was fizzed in and kicked up in front of him, but he got his body behind it to make a comfortable save and was largely untested in the closing stages.
Man of the Match: Raheem Sterling
A constant thorn in Atalanta's side during our most impressive spell in the game, he shone not merely because of his goal scoring contribution but also because of his work rate and movement.
It was Sterling who won the ball back to initiate the move from which he scored and his speed and willingness to run in behind caused the opposition defence countless problems.
Ederson's substitution and Bravo's sending off meant it was a night of high drama at the San Siro, where Kyle Walker became only the third outfield player to go in goal in Champions League history.
City: Ederson, Cancelo, Fernandinho (c), Otamendi, Mendy, Gundogan, De Bruyne, Bernardo, Sterling, Mahrez, Jesus.
Subs: Bravo, Walker, Stones, Aguero, Angelino, Garcia, Doyle.
Atalanta: Gollini, Toloi, Djimsiti, Palomino, Hateboer, De Roon, Freuler, Castagne, Pasalic, Ilicic, Gomez.
Subs: Kjaer, Masiello, Muriel, Arana Lopes, Malinovskiy, Sportiello, Barrow.
“Did I volunteer to go in goal? I think it was a bit of both.
"I try and sometimes banter the keepers in training, telling them to catch it and stuff. But, as I found tonight, you sometimes have to take two touches!
“All jokes aside we came here for a point or victory.
“They are a good team; they play man to man and are in the Champions League for a reason so to come away from here with a draw with how the game ended is a good point."
What it means
City remain top of Group C, with 10 points from the opening four games.
We are five points clear of second placed Shakhtar Donetsk and Dinamo Zagreb in third, which means a win in our next game against the Ukrainian's would seal our progress to the knockout stages.
Our focus now switches to a Sunday’s blockbuster Premier League clash with Liverpool at Anfield, where we will hope to record our first win since 2003 at the ground and reduce the Merseysider’s lead at the top of the table to three points.
Kick-off is 4.30pm (GMT).
There is a three week wait until we return to Champions League action. Shakhtar Donetsk are the visitors to the Etihad Stadium on Tuesday 26 November, kick-off 8pm (GMT).