Visiting defender Callum Paterson put the ball into his own net in the 16th minute after misjudging a corner and Jaap Stam's Reading doubled their lead four minutes before halftime with a deflected Mo Barrow shot from the edge of the area.
Frustrated Cardiff manager Neil Warnock was sent to the stands after 77 minutes for appearing to complain to the fourth official about decisions going against his side but with defeat looking likely they managed to claw their way into the match.
Bennett halved the deficit with a volley in the 83rd minute before close-season signing Tomlin's late strike hit the underside of the bar and landed over the line.
News that makes sense
Your trusted source for staying up-to-date with the world around you. Get free daily news updates and analysis, straight to your inbox.
The ball had bounced back out of the goal but referee Steve Martin gave it after being informed by goal-line technology.
Reading captain Paul McShane almost secured victory for the home side in the dying seconds but his header hit the post.
(Reporting by Christian Radnedge; Editing by Ken Ferris)
