First-half goals from Kevin De Bruyne and Leroy Sane were enough to see off Neil Warnock's side, who offered only meek resistance in a match that took place before they take on fellow strugglers Burnley next.
City, who handed a first Premier League start to Phil Foden, were scarcely required to break sweat as they moved a point above Liverpool at the summit with six games left to play.
Pep Guardiola's side have made a habit of starting strongly this season, and De Bruyne only needed six minutes to fire high into the net from a tight angle to the left of Neil Etheridge's goal, although both goalkeeper and defence will be disappointed at the way they conceded.
Gabriel Jesus, in for the injured Sergio Aguero, fired over when given the chance to make it 2-0 following a corner, before Oleksandr Zinchenko was forced off with what looked like a hamstring problem.
Jesus had a hand in City's second when it did come, though, using his chest to steer the ball back to Sane, who rifled a shot through a crowded box and into the bottom-right corner.
Etheridge made two good saves to deny Foden from close range and then Riyad Mahrez from outside the box, before he flicked a hand at Aymeric Laporte's header to keep City frustrated.
Foden seemed determined to mark his full league debut with a goal, but he hit the post with a half-volley and saw Etheridge frustrate him further with another flying save to his right.
18 - Phil Foden (18y 310d) is the youngest player to make his first Premier League start for Manchester City since Jose Pozo against Leicester in Dec 2014 (18y 273d), and youngest English player to do so since Daniel Sturridge in Jan 2008 against Derby (18y 151d). Future. pic.twitter.com/NU4xT2WgvI— OptaJoe (@OptaJoe) April 3, 2019
What does it mean? City given easy ride into crucial week
This was precisely the kind of match Guardiola would have wanted - a comfortable win, with little significant effort required, that puts them back at the top of the table.
It also means the players are likely to be fresh for Saturday's FA Cup semi-final against Brighton and Hove Albion, as well as the Champions League quarter-final first leg with Tottenham next week, although Zinchenko's injury will be something of a blow.
Cardiff looked resigned to defeat as soon as De Bruyne scored, so their focus is very much on trying to beat a Burnley side currently sat just above them.
De Bruyne devastating
Cardiff simply could not live with the Belgium international, who scored one and could have assisted several more but for some wayward finishing by his colleagues.
Warnock wastes a trip north
Warnock made just one change from Cardiff's unfortunate Chelsea defeat, but sent his team out with no clear plan and no obvious desire to take the game to their hosts. It meant Cardiff were effectively writing off the match, without taking the chance to rest one or two more key figures.
Key Opta facts
- Manchester City have won 23 of their 25 home matches across all competitions in 2018-19 (L2), including 16 of 17 in the Premier League (L1).
- Cardiff remain the only side in Premier League history to have never won a midweek match (Tuesday, Wednesday or Thursday) in the competition (P11 W0 D3 L8).
- Only Blackburn Rovers (18 in 1994-95) have ever scored more goals in the opening 15 minutes of their games in a single Premier League season than Manchester City have in 2018-19 (17).
- Leroy Sane has had a hand in 24 goals in his last 21 appearances at the Etihad Stadium for Manchester City in all competitions (9 goals, 15 assists).
- With an average age of 25 years and 139 days, Manchester City's starting XI against Cardiff was their youngest in a Premier League match since April 2011 against Sunderland (24y 341d).
City head to Wembley on Saturday to face Brighton and they will stay in London ahead of the Champions League game against Spurs. Cardiff will now prepare for that potentially pivotal trip to Burnley.