Hull City manager Steve Bruce was left frustrated by his side’s defeat in Wales.
For all Cardiff’s dominance, Bruce’s side might have equalised on the stroke of half-time but Stephen Quinn was adjudged to have handled in the build-up to Jay Simpson’s close-range finish.
Bruce said: “I thought Cardiff were the better side and we were nowhere near the level we’ve been at in recent weeks.
“But it might have been different had the disallowed ‘goal’ been given.
“It was a big turning point in the game. It’s a baffling and ridiculous decision and a big call.
“Even though we haven’t played well in the first half, we were getting into the game in the last 15 minutes. If we’d scored then it might have been a different story.”
Cardiff recorded their eighth successive home win this season.Heidar Helguson’s third-minute header looked set to be the only goal until captain Mark Hudson threw himself at Aron Gunnarsson’s cross with eight minutes to go.
Robert Koren’s goal in the 90th minute made the home side sweat in the closing seconds.
Bruce, taking charge of a team for the 600th time, made just one change with injured son Alex being replaced in defence by Abdoulaye Faye.
Cardiff scored within the opening five minutes for the third time in their last four games when Craig Noone stood up a cross for Helguson, who nodded home after three minutes.
The chances continued to flow freely for the Bluebirds before Koren, who shone throughout, had a shot blocked and then Sone Aluko’s effort went over the bar.
Simpson did have the ball in the net just before the break but it was ruled out.
Noone was only denied on 55 minutes by the feet of Ben Amos and a minute later Helguson failed to test Amos when he headed just over when unmarked.
Referee Iain Williamson waved away penalty appeals from the home side after Joe Mason felt he was fouled inside the box.
Aluko then came close to his seventh goal of the season in the 70th minute with a 25-yard free-kick that clipped the bar.
Peter Whittingham then tried his luck from a free-kick only to see Amos make a great save but just a minute later Hudson’s flying header made it 2-0.
There was still time for Whittingham to hit the bar with a 30-yard free-kick before Koren set up a nail-biting finale with a stunning 25-yard volley.
Cardiff City: Marshall, McNaughton (Kiss 19), Hudson, Turner, Taylor, Noone, Whittingham, Kim, Gunnarsson, Mason, Helguson (Gestede 66), Kiss (Ralls 46). Unused substitutes: Lewis, Conway, Frei, Nugent.
Hull City: Amos, Rosenior, Chester, McShane (Brady 56), Faye, Elmohamady, Evans, Koren, Quinn (Mclean 75), Simpson (Meyler 56), Aluko. Unused substitutes: Jakupovic, McKenna, Olofinjana, Proschwitz.
Referee: I Williamson (Berkshire).
Man of the match: Robert Koren.