Match ends, Charlton Athletic 1, Rotherham United 1.
Charlton Athletic came from behind to seal a point as Rotherham United's search for their first league win of the season continued.
Farrend Rawson put the Millers in front just before half-time after rising high to nod home Joe Newell's corner.
Tony Andreu almost doubled their lead but Charlton keeper Nick Pope superbly palmed away his headed effort.
The home side levelled when Simon Makienok played the ball to Patrick Bauer, who fired in from close range.
Charlton pressed for an early lead when Tony Watt capitalised on a loose pass but Danny Collins was on hand to clear the danger.
Millers debutant keeper Lee Camp denied Charlton the opener when he parried Jordan Cousins' fine shot from the edge of the box.
Rotherham nearly took the lead when Newell curled one on goal but Pope saved, while Vadis Odjidja-Ofoe fired just wide of the mark.
But the visitors took the lead from Rawson's backpost header, following a controversial decision from referee Keith Stroud to award a corner after a Jonson Clarke-Harris free-kick was deflected out by Lee Frecklington.
The hosts looked to hit the ground running in the second half and were almost rewarded with a leveller when Johann Berg Gudmundsson brought the ball down in the box before firing just over the bar.
They equalised when some smart work from Makienok allowed Bauer through to easily tap the ball past Camp and end Rotherham's hopes of a first league win since April.
Charlton Athletic manager Guy Luzon:
"Of course we should have won, we had 21 shots on the target, it's enough to win this game.
"The corner they scored from was controversial, I think it wasn't a corner, and it was a lack of concentration for us but we tried to play positive football and create something.
"Rotherham came here to waste time, to play only long ball, they didn't have any target to win the game and only wanted a maximum of one point."
Rotherham United manager Steve Evans:
"Charlton had a lot of the ball, but they didn't really create many opportunities, so I think we were good value.
"I said to my players at the end, a draw would have been fair if you had been a neutral in the stadium.
"But we've not been getting the breaks, and we have to go and get something at Brighton."
- 20SollyBooked at 40mins
- 12DiarraBooked at 65mins
- 7Berg Gudmundsson
- 22BaSubstituted forBergdichat 79'minutes
- 14VetokeleSubstituted forMakienokat 63'minutes
- 4CollinsBooked at 65mins
- 8FrecklingtonSubstituted forGreenat 74'minutes
- 22NewellBooked at 68mins
- 24AndreuSubstituted forMaguireat 71'minutes
- 19Clarke-HarrisSubstituted forDerbyshireat 79'minutes
- Keith Stroud
- Shots on Target
Second Half ends, Charlton Athletic 1, Rotherham United 1.
Corner, Rotherham United. Conceded by Patrick Bauer.
Tony Watt (Charlton Athletic) wins a free kick in the defensive half.
Foul by Joe Newell (Rotherham United).
Corner, Charlton Athletic. Conceded by Farrend Rawson.
Attempt saved. Johann Berg Gudmundsson (Charlton Athletic) left footed shot from outside the box is saved in the centre of the goal. Assisted by Chris Solly.
Foul by Simon Makienok (Charlton Athletic).
Danny Collins (Rotherham United) wins a free kick in the defensive half.
Substitution, Charlton Athletic. Zakarya Bergdich replaces El-Hadji Ba.
Substitution, Rotherham United. Matt Derbyshire replaces Jonson Clarke-Harris.
Chris Solly (Charlton Athletic) wins a free kick in the defensive half.
Foul by Vadis Odjidja-Ofoe (Rotherham United).
Attempt saved. Chris Maguire (Rotherham United) right footed shot from outside the box is saved in the bottom right corner.
Foul by Patrick Bauer (Charlton Athletic).
Lewis Buxton (Rotherham United) wins a free kick in the defensive half.
Corner, Charlton Athletic. Conceded by Paul Green.
Substitution, Rotherham United. Paul Green replaces Lee Frecklington because of an injury.
Delay over. They are ready to continue.
Delay in match Lee Frecklington (Rotherham United) because of an injury.