Craig Bellamy rescued Cardiff's night with a last-ditch free-kick which earned them an unlikely draw. Reading believed they had taken the three points with their own stoppage-time goal from the substitute Matthieu Manset.
Despite the Welshmen falling short this felt more like a point earned than two dropped. The Cardiff manager, Dave Jones, said: "I don't think we got going until we scored. But it was two poor goals to give away and we allowed them to get in front."
The first defensive error came in the 18th minute when Lee Naylor slipped, allowing Jimmy Kébé a run to the byline before the ball was worked to Mikele Leigertwood on the edge of the box. His shot deflected off Paul Quinn before spinning past goalkeeper Tom Heaton.
Cardiff felt aggrieved. Bellamy had hit the bar with a free-kick three minutes before and Jem Karacan cleared Paul Quinn's header off the line. But if the Cardiff defence is often found wanting their strikeforce wants only for the service. As it proved, the equaliser in the 48th minute was created by a howler of a clearance from Adam Federici. Within seconds the goalkeeper was witnessing Jay Bothroyd run around him before side-footing home.
Cardiff woke to the challenge, but again the crossbar denied them, when Mark Hudson's header bounced away. Both sides wasted great opportunities.
Then came the dramatic finale. In the first minute of injury time Masset, the French substitute, capitalised on more back-four confusion to bundle in what appeared certain to be the winner. But up stepped Bellamy with a brilliant 30-yard free-kick.
Cardiff City (4-4-2): Heaton; Quinn, McNaughton, Hudson, Naylor; Whittingham, Olofinjana (Chopra, h-t), Ramsey, Bellamy; Emmanuel-Thomas (Burke, 76), Bothroyd (Parkin, 85). Substitutes not used Marshall, Keinan, Koumas, Blake. Booked: Hudson, Chopra
Reading (4-4-2): Federici; Griffin, M Mills, Ingimarsson, Harte; McAnuff, Karacan, Leigertwood, Kébé; Long (Hunt, 18), Church (Manset, 71). Substitutes not used McCarthy, Tabb, Khizanishvili, Robson-Kanu, Cummings.
Referee G Ward (Surrey).
Attendance 21,405.Reuse content