Match ends, Reading 1, Rotherham United 1.
Rotherham salvaged a late point away to fellow Championship strugglers Reading in a closely fought draw at the Madejski Stadium.
Ovie Ejaria looked to have made the decisive contribution after rounding off a flowing Reading move in the 31st minute.
The midfielder, on loan from Liverpool, looped a fine finish into the far corner after getting on the end of Garath McCleary's cutback.
But Semi Ajayi turned home a vital Rotherham equaliser in the 79th minute after Will Vaulks' cross was flicked on by Clark Robertson.
Reading pressed hard for a winner in the closing stages, but Nelson Oliveira and Ejaria both missed chances from close range and Lewis Baker headed straight at Marek Rodak in the Rotherham goal.
Rodak was then almost caught out when Reading substitute Mo Barrow beat him to the ball outside of the penalty area, but the goalkeeper recovered to smother at the feet of Oliveira.
Rotherham's fifth consecutive draw left them one place below Reading in the relegation zone, but only goal difference separates the two sides.
Reading, who have now won only one of their last seven matches, had defended well prior to Ajayi's later equaliser, and will rue a missed opportunity to move clear of the relegation zone.
Reading manager Jose Gomes told BBC Radio Berkshire:
"I'm frustrated to get just one point. We created a lot of situations we could have finished another way.
"Against a team playing direct football, you can never think you have the three points in your pocket. The lesson for the future is, even when you're winning, you must play to score. I understand that the players want to keep the points, but it's not enough. We must play all games to win.
"Today the fans made a lot of noise supporting us - they deserved the three points. But nobody can say the players didn't want to fight. They were brave. They worked well. In the end, we have one point more. We need to rest and start to prepare for the next match."
Rotherham manager Paul Warne told BBC Radio Sheffield:
"I said to the lads at half-time, it doesn't feel like you believe you're going to score.
"We did have a bit of the play, but we didn't look like we were getting on the second balls. In the second half, we had a much better threat. They nearly scored at the death after a mix-up with our keeper. That would have been very a hard pill to swallow.
"It's a good point for us. There are still twelve games left. A loss would have ruined the little run we're on, but I think our lads will take more from the game than them.
"I've just told the lads how proud I was of their second-half performance. Most of their individuals are faster and stronger than ours, so we had to really dig in, and we looked fitter and stronger at the end of the game. We're giving ourselves a good chance [to stay up]."
- 18EjariaSubstituted forHarriottat 86'minutes
- 10SwiftBooked at 54mins
- 21MeiteSubstituted forO'Sheaat 72'minutes
- 12McClearySubstituted forBarrowat 86'minutes
- 20IhiekweSubstituted forNewellat 70'minutes
- 3MattockBooked at 50mins
- 11TaylorSubstituted forWilliamsat 58'minutesBooked at 59mins
- 13TowellSubstituted forCrooksat 89'minutes
- 4VaulksBooked at 89mins
- Jeremy Simpson
- Shots on Target
Second Half ends, Reading 1, Rotherham United 1.
Attempt saved. Michael Smith (Rotherham United) header from the centre of the box is saved in the top centre of the goal. Assisted by Will Vaulks.
Attempt missed. Joe Newell (Rotherham United) left footed shot from the centre of the box is close, but misses to the right.
Attempt missed. Modou Barrow (Reading) right footed shot from a difficult angle and long range on the right misses to the left.
Foul by Andy Yiadom (Reading).
Michael Smith (Rotherham United) wins a free kick on the left wing.
Attempt saved. Lewis Baker (Reading) header from the centre of the box is saved in the centre of the goal. Assisted by Nélson Oliveira with a cross.
Substitution, Rotherham United. Matt Crooks replaces Richard Towell.
Will Vaulks (Rotherham United) is shown the yellow card for a bad foul.
John Swift (Reading) wins a free kick in the attacking half.
Foul by Will Vaulks (Rotherham United).
Substitution, Reading. Callum Harriott replaces Ovie Ejaria.
Substitution, Reading. Modou Barrow replaces Garath McCleary.
Attempt missed. Matt Miazga (Reading) header from the left side of the six yard box is close, but misses to the left. Assisted by Garath McCleary with a cross following a corner.
Corner, Reading. Conceded by Marek Rodák.
Attempt saved. Ovie Ejaria (Reading) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by John Swift.
Attempt saved. Garath McCleary (Reading) right footed shot from the right side of the box is saved in the centre of the goal. Assisted by John Swift.
Attempt blocked. Will Vaulks (Rotherham United) right footed shot from outside the box is blocked. Assisted by Anthony Forde.
Foul by Nélson Oliveira (Reading).