Cardiff created more chances but were unable to take any of them as their promotion bid continued to stutter with a fourth defeat in the last five matches.
Jay Bothroyd came closest to scoring for Dave Jones' side but Chris Weale produced a fine late save to deny him.
Amazingly it was the first league meeting between the two clubs this season. Cardiff will not have to wait long for the chance to gain revenge with the reverse fixture in the Welsh capital scheduled for March 30.
Leicester manager Nigel Pearson was forced to make one change from the defeat at Sheffield Wednesday after Wayne Brown suffered a hamstring injury in training this week.
Alex Bruce deputised in defence to make his full debut since moving to the Walkers Stadium on loan from Ipswich at the start of February.
On-loan Everton striker James Vaughan started his first game for the Foxes on the bench.
Cardiff were boosted by the return from injury of Mark Kennedy, Stephen McPhail and Peter Whittingham. All three went straight back into the starting line-up. Suspended striker Michael Chopra, Gabor Gyepes and Gavin Rae were the players to make way.
Dave Jones' side started brightly. Ross McCormack had a goalbound shot blocked by Jack Hobbs before a Whittingham effort from the right side of the box narrowly missed the far post.
Cardiff continued to look dangerous so it was somewhat against the run of play when Waghorn scored his eighth goal of the season.
Dyer produced a probing ball into the box and Waghorn tapped home after reacting first to King's flick-on.
Bruce was forced off through injury after 35 minutes with Nolberto Solano introduced in the unfamiliar position of right-back, and it was from that side that McCormack immediately threatened an equalising goal, but the Peru international recovered to make a vital block.
Darcy Blake headed a Whittingham cross wide from six yards out at the start of the second half as Cardiff kept up the pressure.
Vaughan replaced Matt Oakley just after the hour mark to make his Leicester debut but it was the Foxes man of the moment, Paul Gallacher who almost made sure of the win, in fantastic fashion.
Gallacher, the Championship player of the month for February after scoring four goals in seven games, narrowly missed the target with a brilliant 30-yard effort after 67 minutes.
Weale then did well to save Bothroyd's effort from 12 yards with seven minutes remaining to ensure his side kept all three points.