A late Kieffer Moore penalty looked to have stolen victory for Mick McCarthy's Cardiff City at the Madejski but a last gasp Yakou Meite header rescued a point for the Royals.
The first opportunity fell to the visitors, Kieffer Moore flicking on a header and a clumsy challenge on the edge of the box conceded a free kick. Will Vaulks drilled the set piece goalwards but the Reading wall charged it down well.
Harry Wilson earned a yard but saw his shot blocked too, while Andy Yiadom was found with a nice ball over the top - the full-back couldn't bring the ball down to shoot though and his hooked cross was cleared by a Cardiff leg in the middle.
The Bluebirds were bossing things, affording their hosts no time on the ball at all and it took a fine save from Rafael to deny Wilson the opener.
But with a quarter of an hour gone, Joao won the ball in the attacking third and Rinomhota very nearly threaded a ball into the path of Meite - it was just too strong and Cardiff were able to slice the ball behind for a corner.
A clever flick from Joao found the feet of Olise in a central position but he took aim and saw his shot charged down. It popped out to Ejaria who jinked his way inside from the left and got a low shot away - again it was blocked. Yiadom recycled it and found Ejaria in the box on the right side this time, but his drilled effort was charged down to Olise who also had a speculative drive blocked off. A frantic move ended with a dinked ball from Olise to Meite who flicked it goalwards but Smithies was equal to it at his near post.
The first half was coming to an end when Richards crossed into a dangerous position, but a Cardiff head glanced it behind before Meite could arrive at the back post.
Still time for City to threaten with a series of corners and a Vaulks long throw, but Reading defended their goal admirably and the teams went in level at the break.
Half-time: Reading 0-0 Cardiff City
Reading began the second half better, winning a number of free kicks in the Cardiff half and two names went into the referee's book early on - Marlon Pack for late challenge on Olise and Curtis Nelson for an aerial clash with Joao.
Smithies was called into action ten minutes into the second half when a worked free kick saw us pass the ball low into the feet of Joao. He turned and from a tight angle drilled the ball towards the near corner, but the City keeper saved it and the ball bobbled back off the floored Joao and behind for a goal kick.
More worryingly, Joao stayed on the ground and needed treatment for what looked like a serious shoulder injury - and the Royals striker had to come off, George Puscas coming off the bench to replace him up front.
Laurent, Olise and Meite combined down the right for the latter to see a deflected shot spin behind for a corner. And Meite tried his luck from distance out on the right on the hour - this time it was easily gathered in by Smithies on his goalline.
Meite again cut in from the right and took aim but this time the ball fizzed wide and Reading, though dominant, were struggling to break down their opponents and create clear cut opportunities. However a lovely sequence of passes saw Richards and Laurent combine to give Meite a sight of goal, but the Royals forward leant back and skied his instinctive effort over.
Reading were enjoying all the ball and making all the running in search of a goal. Laurent strode forward but arrowed a left-footed effort harmlessly over the bar and time was starting to tick away.
Kieffer Moore had a good chance to score a goal against the run of play, but his shot was tame and easy for Rafael to collect. Wilson had a better chance moments later, racing in behind the back line and toeing the ball past an onrushing Rafael - but Yiadom was back to hack the ball off the line before it could cross it.
Ejaria wove his way into the box from the left but his cross-shot was blocked. Then Meite bundled onto a ball over the top but he couldn't get a decisive touch before Smithies was off his line to collect it.
But as Reading pushed and pushed, Cardiff struck a late blow. Substitute Ojo was allowed to scurry foward down the middle. His powerful strike was parried by Rafael but Richards was late to his hooked clearance and caught Kieffer Moore - the referee pointed to the penalty spot and Moore slammed high into the back of the net for 1-0.
A triple substitution followed and the Royals peppered their opponents' box with shots and crosses, but five minute of injury time were ticking away...when Baldock dug out a cross from the byline and found the head of Meite who made no mistake - bulleting a downward effort goalwards and Cardiff couldn't keep it out.
Reading then flew forward looking for a winner, but there was no time. And a point apiece meant neither team could meaningfully close the gap on the top six.
Full-time: Reading 1-1 Cardiff City
Reading: Rafael, Yiadom (Baldock 90), Richards (Tetek 90), Moore (c), Holmes, Rinomhota (Swift 77), Laurent, Ejaria, Olise (Aluko 90), Meite, Joao (Puscas 58).
Unused subs: Southwood, Esteves, Gibson, Tetek, Semedo, Aluko, Baldock.
Goals: Meite 90
Cardiff City: Smithies, Flint, Vaulks, Ralls, Moore, Nelson, Pack (Murphy 70), Wilson (Ojo 81), Sang, Brown, Ng.
Unused subs: Phillips, Osei-Tutu, Williams, Watters, Harris, Hoilett, Colwill.
Yellow: Nelson, Pack
Goals: K Moore 87
This match report was brought to you by WHATJOBS. Learn more at www.WHATJOBS.com