Sané put City ahead early on before Pep Guardiola's men were repeatedly denied by Ben Foster in the Baggies goal during an opening 45 minutes dominated by the visitors.
A manic final half-hour saw West Brom equalise through Claudio Yacob, with his first goal in four years, before Sané scored his second of the night to kill off the tie.
Hal Robson-Kanu spurned a number of opportunities for the hosts late on, as City held on to book their place in the next stage of the tournament.
Visitors dominate opening period
Despite a host of changes from the side that demolished Watford on Saturday, it took the visitors less than two minutes to open the scoring.
From a Raheem Sterling cross from the right, the ball fell to Ilkay Gündogan - making his first start since December. The German forced Ben Foster into making a smart diving save, only for the ball to rebound out to compatriot Sané who slotted the ball home on the volley.
As West Brom sought a leveller from an aerial route, the Citizens almost doubled their advantage following a Sané cross from a corner clearance, with Eliaquim Mangala - making a rare start for City - forcing Foster to make a sprawling save to his right.
Minutes later, more neat build-up from Guardiola's men found Gabriel Jesus on the edge of the box and after the Brazilian forward swivelled away from the home defence, he dummied to cut inside before firing inches over the bar.
The Baggies were failing to ebb the building tide of purple from the away side and were reduced to long balls over the top of their opponent's defence, with little success.
With seconds to go to the break, the West Brom 'keeper made another outstanding stop when Sterling - who had been a thorn in the Baggies' side throughout the opening half - scampered down the left unmarked and bent a curling 20-yard effort towards goal, which the England stopper tipped away at full stretch.
The hosts did however reach half-time just a goal down, still in the contest.
Lack of cutting edge
City came out in similar fashion for the second period, but lacked a cutting edge in the final third as the game became a scrappy affair.
When the visitors did break through a stubborn back-line, Foster was there once more to keep his side in the game, stretching to make a save with his right foot from the live-wire Sterling on the hour mark.
Pulis made a double attacking change as he threw on Matt Phillips and Salomón Rondón for Gareth McAuley and Jay Rodriguez as the hosts looked to snatch an equaliser against the run of play.
The move almost made immediate dividends with Rondon involved in the build-up of a good chance. The Venezuelan dinked a clever ball for Hal Robson-Kanu, who escaped the advances of Danilo. The Welshman's slipped pass found James Morrison who ran in on goal from an angle, but though his toe-poke missed the City defence, so too did the far post.
The miss drove the Citizens on and on the counter-attack, Sané broke away immediately but looking for a team-mate centrally, could only find a West Brom defender.
Pulis' side found an unlikely route back into the game from a less unlikely avenue. From a corner, the ball dropped into the six-yard area and found Yacob unmarked to side-foot on the volley under namesake Claudio Bravo - the Argentine's first goal in four years.
The goal sparked a manic ten minutes in the West Midlands. Substitute Rondon was causing havoc amidst the visitors' defence and could have given West Brom the lead with a header. That came shortly after Robson-Kanu had again found space following Phillips' right-wing run, but he scuffed his shot.
Guardiola's men punished those missed opportunities, as once again on the break - just as City had threatened all evening - Sané raced away and angled his run in from the right. The German then composed himself and on his left foot, curled a delightful finish around Foster and into the top left corner of the net.
West Brom refused to give in and repeatedly pumped the ball forward. As the game entered stoppage time, James McClean's shot was deflected into the path of Robson-Kanu. With the forward in space, his shot clattered the post and went agonisingly wide.
It was the last action of what had been and thrilling second-half, with both sides having a hatful of chances. In the end however the balance of play just shaded City, who take their place in the fourth round next month and will take on Championship high-flyers Wolverhampton Wanderers.