Match ends, Rotherham United 1, Charlton Athletic 1.
Charlton remained unbeaten in the Championship but were forced to settle for a point in a 1-1 draw at Rotherham.
Substitute Luciano Becchio's header ensured a share of the points for the Millers after Johann Gudmundsson's left-foot finish on 27 minutes.
Both sides had chances to snatch all three points in the closing minutes.
Scott Loach saved smartly on the line from Frederic Bulot before Joe Skarz's close-range header was tipped round a post by Charlton's Stephen Henderson.
Charlton took the lead when Gudmundsson cut in from the right and curled a shot low into the far corner, with a deflection off the foot of Rotherham midfielder Paul Green taking the ball wide of Loach's dive.
Rotherham's equaliser came as Becchio headed in a cross from fellow substitute Ben Pringle after 69 minutes.
The hosts had earlier had a goal disallowed when Jordan Bowery was flagged offside as he forced the ball home at the far post from Becchio's header across.
Rotherham boss Steve Evans:
(On a handball decision not given in his side's favour) "It wasn't just handball. He almost had hold of the ball, put it up his shirt and looked as fat as me."
"If we are not going to get a penalty for that we might as well rewrite the rule book."
Charlton Athletic boss Bob Peeters:
(On the same incident involving Johnnie Jackson) "I think it could have been. I think the referee has done a good job.
"I told him at half-time not to get carried away because people were putting pressure on him.
"I need to see the game back to see if it was a penalty."
- 20MorganBooked at 66mins
- 26TaylorSubstituted forPringleat 68'minutes
- 33SmallwoodSubstituted forFrecklingtonat 45'minutes
- 9RevellSubstituted forBecchioat 39'minutesBooked at 78mins
- 26Ben Haim
- 6Bikey Amougou
- 24CousinsSubstituted forFoxat 90+4'minutes
- 7Berg GudmundssonSubstituted forHarriottat 80'minutes
- 17BuyensBooked at 88mins
- 10MoussaBooked at 18minsSubstituted forBulotat 60'minutes
- Darren Deadman
- Shots on Target
Second Half ends, Rotherham United 1, Charlton Athletic 1.
Attempt missed. Joe Skarz (Rotherham United) header from the centre of the box is just a bit too high. Assisted by Frazer Richardson with a cross.
Substitution, Charlton Athletic. Morgan Fox replaces Jordan Cousins.
Attempt missed. Lee Frecklington (Rotherham United) left footed shot from outside the box is just a bit too high. Assisted by Anthony Wordsworth.
Attempt saved. Joe Skarz (Rotherham United) header from a difficult angle on the left is saved in the bottom right corner. Assisted by Frazer Richardson with a cross.
Yoni Buyens (Charlton Athletic) is shown the yellow card for a bad foul.
Ben Pringle (Rotherham United) wins a free kick in the defensive half.
Foul by Yoni Buyens (Charlton Athletic).
Attempt saved. Frédéric Bulot (Charlton Athletic) right footed shot from a difficult angle on the left is saved in the bottom left corner. Assisted by Rhoys Wiggins.
Attempt missed. Kári Arnason (Rotherham United) header from the centre of the box misses to the left. Assisted by Ben Pringle with a cross following a corner.
Corner, Rotherham United. Conceded by André Bikey.
Corner, Rotherham United. Conceded by Johnnie Jackson.
Attempt blocked. Ben Pringle (Rotherham United) left footed shot from outside the box is blocked. Assisted by Lee Frecklington.
Corner, Charlton Athletic. Conceded by Kári Arnason.
Substitution, Charlton Athletic. Callum Harriott replaces Johann Berg Gudmundsson.
Attempt missed. Luciano Becchio (Rotherham United) right footed shot from the left side of the box is high and wide to the right.
Luciano Becchio (Rotherham United) is shown the yellow card.
Luciano Becchio (Rotherham United) has gone down, but that's a dive.
Attempt blocked. Lee Frecklington (Rotherham United) left footed shot from outside the box is blocked. Assisted by Frazer Richardson.