Goals from Kevin De Bruyne and Raheem Sterling were enough to send the Premier League leaders through at the expense of their Championship hosts, who ended the match with 10 men when Joe Bennett was shown an overdue red card in stoppage time.
The result means that Man City's hopes of an unprecedented quadruple remain alive this season having backed up their progression to the EFL Cup final with another cup win at the Cardiff City Stadium.
The visitors made a quick start to the match with Bernardo Silva sending an early flick into the arms of Neil Etheridge before the keeper was also called upon to deny Ilkay Gundogan's drive following an incisive counter-attack down the left flank.
Gundogan was brought down right on the edge of the box following that missed chance, and a moment of Belgian brilliance broke the deadlock from the resulting free kick as De Bruyne caught Cardiff out by rolling the ball under the jumping wall and into the bottom corner.
It was the playmaker's 10th goal of the season, and he almost added another assist to his growing tally shortly afterwards too when his corner was flicked over the crossbar by a glancing Gundogan header.
Cardiff did almost level things up out of nothing in the 16th minute when Junior Hoilett's long-range strike was spilled by Claudio Bravo, but the Man City keeper recovered just in time to prevent the ball from creeping over the line despite the protests of the home fans inside the Cardiff City Stadium.
Callum Paterson was inches away from connecting with a Bennett cross into the middle moments later, but Man City were soon on the front foot once again as the home side's best spell of the first half was short-lived.
City thought that they had doubled their lead after 25 minutes when Bernardo slammed an unstoppable strike in off the underside of the crossbar, but their celebrations were cut short by the offside flag.
A moment of confusion followed as referee Lee Mason went to discuss the decision with his linesman before confirming that the goal had been ruled out, although the replays showed that Leroy Sane - who had been deemed to have interfered with play from an offside position - was neither offside nor interfering.
Having seen VAR steal the headlines in the FA Cup on Saturday, suddenly the situation was screaming for a video assistant, with Pep Guardiola left incensed on the touchline by the decision to chalk out a perfectly good goal.
The visitors continued to push for a second, though, with Gundogan and Sterling failing to hit the target from outside the area around the half-hour mark.
Man City did double their advantage with eight minutes remaining of the first half when Danilo slid the ball down the left for Bernardo, who whipped an early cross into the box for an unmarked Sterling to nod into the bottom corner - just the second headed goal of his career.
Cardiff were lucky not to end the half a man down too after Bennett halted a barnstorming Sane run with a horrendous challenge just outside the area, catching the German's standing leg with a high foot and his studs showing right on the stroke of half time.
The referee deemed the challenge worthy of only a yellow card, but it proved to be enough to end Sane's afternoon as he was replaced at half time by Sergio Aguero.
The visitors quickly resumed control of the game after the interval too and it took a fine last-ditch challenge from Sean Morrison to deny them a certain third goal when Sterling latched on to a quick free kick and rounded the keeper, only to be denied just as he was about to roll the ball into the empty net.
Cardiff did start asking some questions of the Man City defence as the second half wore on, with Kenneth Zohore blasting one sight of goal off target before beating Nicolas Otamendi on the edge of the box and drawing a save from Bravo shortly after the hour mark.
The hosts threatened to pull a goal back once again moments later when Hoilett collected the ball on the left flank before cutting inside and unleashing a powerful drive which rippled the top of the net on its way over, with Bravo beaten.
That proved to be Cardiff's last chance of any note, though, and it was Man City who should have added to the scoreline 15 minutes from time when De Bruyne's defence-splitting pass released Sterling, who was denied by Etheridge while also under pressure from Morrison.
The Cardiff keeper continued to keep the score down in the final five minutes with saves to deny Bernardo and Danilo - both of whom should have done better - but the hosts never looked like endangering Man City's lead at the other end and ended up with just 10 men on the field when Bennett was shown a second yellow card for another poor challenge, this time on the recently-introduced Brahim Diaz.
CARDIFF (4-2-3-1): Etheridge; Richards, Morrison, Ecuele Manga, Bennett; Grujic, Ralls (Damour, 88'), Mendez-Laing (Feeney, 78'), Paterson, Hoilett; Zohore (Pilkington, 67')
MAN CITY (4-3-3): Bravo; Walker, Kompany, Otamendi, Danilo; De Bruyne, Fernandinho, Gundogan; Bernardo (Diaz, 89'), Sterling, Sane (Aguero, 46')