The Wales striker struck twice in eight first-half minutes to make it five goals in his last five matches for the Bluebirds.
Josh Murphy then punished some lax Coventry defending in the first minute of the second period to seal the victory that took McCarthy's men up to seventh.
Dominic Hyam grabbed a late consolation, but it was not enough to prevent them from falling to 20th in Sky Bet Championship table.
Former Republic of Ireland manager McCarthy has taken his new side to within six points of the play-off places less than a month after taking over a team languishing in 15th, 13 points adrift of the top six.
His positive start as Cardiff manager had continued in midweek with a dramatic victory at Rotherham in the snow.
Another man who made an impact off the bench that day, Marlon Pack, came into midfield for the injured Joe Ralls as the hosts aimed to go five unbeaten against a Sky Blues side fighting to stay above the relegation zone.
Mark Robins named an unchanged side from the goalless draw with Watford but welcomed back four players on the bench.
The snow had just stopped falling in the Welsh capital when Moore struck his first of the afternoon for the Bluebirds.
Murphy won the ball back deep inside his own half before carrying it downfield and playing a through ball down the side of the defence to the Wales striker.
Moore sold Leo Ostigard with a left-foot feint, before cutting inside and clinically finishing with his right to make it 1-0 after 31 minutes.
And his 13th goal of the season followed his 12th eight minutes later, after a long throw from Will Vaulks forced a goalkeeping error.
Marko Marosi's attempted punch clear fell loose in the box, where Moore was waiting to tuck it home.
The defensive collapse continued less than a minute into the second half, when Perry Ng caught Coventry napping with a quick free-kick on the edge of the area to put Murphy clean through on goal.
The Bluebirds forward took a touch before firing a low drive past Marosi to seal victory.
Hyam stabbed the ball into the net with 80 minutes on the clock after Matty James' free-kick fell loose in the box, but it was too little, too late.