The 32-year-old striker – who joined Chelsea on a free transfer from Anji Makhachkala in August – had failed to score in his four previous top-flight appearances but picked an ideal time to break his duck on Saturday.
Jordon Mutch had made the most of a defensive lapse by David Luiz to put Cardiff in front after 10 minutes before Eden Hazard levelled in unusual circumstances.
Eto’o put Chelsea in front in the 66th minute and his strike eased the tension, with Oscar and Hazard putting gloss on the win – that lifted them to second on the Premier League table – with late goals to the delight of manager Jose Mourinho, who was sent to the stands for dissent.
Chelsea made four changes from the side that beat Norwich City 3-1 earlier this month, with Willian given his first start for the club, while Ryan Bertrand replaced the injured Ashley Cole at left-back.
Mutch was one of Cardiff’s two inclusions and he made an immediate impact, firing Malky Mackay’s side in front in the 10th minute after he pounced on a defensive error from Luiz. The Brazilian left an errant
Ramires ball alone, allowing Mutch to steal in and dink over the onrushing Chelsea goalkeeper Petr Cech, on the Czech Republic international’s 300th Barclays Premier League appearance.
The hosts responded quickly as John Terry twice went close, but they were given another scare when Peter Odemwingie’s flicked header forced Cech into an outstanding save.
The home crowd were growing restless before Hazard scored a bizarre goal to level proceedings. Cardiff goalkeeper David Marshall was caught napping while bouncing the ball in preparation for a goal-kick, and Eto’o nipped in to knock the ball towards Hazard.
The Belgian returned the ball to Eto’o but as a desperate Cardiff scrambled, the Cameroon international was unable to get his shot away; Hazard, however, made no mistake.
The hosts grew in confidence thereafter with Luiz, Hazard and Frank Lampard all sending in efforts at the end of the first period.
Cardiff started the second half well, they failed to create clear-cut chances, and only excellent defending from Andrew Taylor denied Hazard at the other end.
Chelsea did take the lead in the 66th minute, though, when Hazard fed Eto’o, who produced a superb finish. The striker showed quick feet to beat Steven Caulker before firing past Marshall at the near post.
Fernando Torres had a good effort blocked as Chelsea searched for a third but they were kept on their toes at the other end, with Cech forced into a good save to deny Kim.
Oscar did give his side a two-goal cushion with 12 minutes to play, thrashing an effort past Marshall from 20 yards that cannoned in off the underside of the post, before Hazard added a fourth from a tight angle.