Nottingham Forest survived a late scare to beat Charlton and maintain their unbeaten start to the league season.
The Reds dominated before the interval and Adlene Guedioura fired a shot against the bar before Lewis McGugan's long-range free-kick made it 1-0.
Sam Hutchinson doubled the lead after half-time with a neat strike.
And although the Addicks replied with a Ricardo Fuller header that went in via the post and Forest keeper Lee Camp, the hosts go third in the Championship.
Forest were good value for their victory - which handed Charlton their first defeat since their return to the second tier of English football - and could have been out of sight by the break.
The hosts started brightly, and with McGugan controlling the midfield it looked only a matter of time before they went ahead.
Guedioura almost netted after eight minutes but his shot from inside the area hit the crossbar.
However, Forest did go in front when McGugan's free-kick from wide on the left somehow went through a crowded penalty box, eluded keeper Ben Hamer and found the back of the net.
Dexter Blackstock then missed a good headed chance from 12 yards and Simon Cox forced a decent save from Hamer just before half-time.
The Londoners improved after the break, but still rarely troubled Camp's goal.
Jordan Cook did force the Forest keeper into a save but the hosts deservedly doubled their lead when on-loan Chelsea defender Sam Hutchinson raced through from right-back and scored with a neat finish after good work by Blackstock.
Full Time The final whistle is blown by the referee.
Inswinging corner taken from the right by-line by Salim Kerkar.
Ben Hamer restarts play with the free kick.
90:00 +2:29 Booking
Booking Booking for Dexter Blackstock for unsporting behaviour.
Free kick awarded for a foul by Dexter Blackstock on Salim Kerkar.
Free kick awarded for an unfair challenge on Chris Solly by Billy Sharp. Ben Hamer takes the free kick.
Inswinging corner taken by Salim Kerkar from the right by-line, save made by Lee Camp.
Booking The referee books Yann Kermorgant for dissent.
87:04 Goal scored
Goal! - Lee Camp - Nott'm For 2 - 1 Charlton Own goal by Lee Camp. Nottm Forest 2-1 Charlton.
The ball is swung over by Chris Solly, Header from close range by Ricardo Fuller hits the post.
Substitution Andy Reid leaves the field to be replaced by James Coppinger.
Andy Reid crosses the ball, blocked by Michael Morrison. Inswinging corner taken by Andy Reid from the left by-line, clearance made by Michael Morrison.
Substitution Guy Moussi comes on in place of Lewis McGugan.
Corner taken by Bradley Pritchard played to the near post, clearance made by Danny Collins. Corner taken by Salim Kerkar from the left by-line.
Substitution Salim Kerkar replaces Danny Hollands.
Substitution Bradley Wright-Phillips goes off and Ricardo Fuller comes on.
Substitution Simon Cox leaves the field to be replaced by Billy Sharp.
Booking Michael Morrison is shown a yellow card.
Booking Ben Hamer is cautioned by the ref for dissent.
The assist for the goal came from Dexter Blackstock.
74:16 Goal scored
Goal! - Sam Hutchinson - Nott'm For 2 - 0 Charlton Sam Hutchinson finds the back of the net with a goal from deep inside the penalty box to the bottom left corner of the goal. Nottm Forest 2-0 Charlton.
Free kick awarded for a foul by Danny Haynes on Sam Hutchinson. Sam Hutchinson takes the direct free kick. Outswinging corner taken from the right by-line by Lewis McGugan.
Free kick awarded for an unfair challenge on Simon Cox by Johnnie Jackson. Free kick taken by Lewis McGugan.
A cross is delivered by Adlene Guedioura, Close range headed effort by Daniel Ayala clears the crossbar.
Outswinging corner taken by Andy Reid from the left by-line, Johnnie Jackson manages to make a clearance.
Greg Halford is flagged offside by the assistant referee. Indirect free kick taken by Ben Hamer.
Andy Reid restarts play with the free kick.
Booking Johnnie Jackson is cautioned.
Foul by Johnnie Jackson on Greg Halford, free kick awarded.
Ben Hamer restarts play with the free kick.
Booking Simon Cox goes into the book for unsporting behaviour.
Simon Cox produces a cross, Ben Hamer makes a save. Simon Cox gives away a free kick for an unfair challenge on Ben Hamer.
Andy Reid produces a cross, clearance made by Rhoys Wiggins. Corner from the right by-line taken by Lewis McGugan, Effort on goal by Adlene Guedioura from just inside the area clears the crossbar.
Substitution (Charlton) makes a substitution, with Danny Haynes coming on for Jordan Cook.
The ball is sent over by Jordan Cook, Header by Michael Morrison from deep inside the penalty area misses to the right of the target.
Free kick taken by Chris Solly.
Booking Adlene Guedioura goes into the referee's book for unsporting behaviour.
Adlene Guedioura concedes a free kick for a foul on Danny Hollands.
Bradley Wright-Phillips challenges Simon Gillett unfairly and gives away a free kick. Andy Reid takes the direct free kick. Michael Morrison gives away a free kick for an unfair challenge on Dexter Blackstock. Free kick crossed by Lewis McGugan.
Dexter Blackstock concedes a free kick for a foul on Michael Morrison. Ben Hamer restarts play with the free kick.
Free kick awarded for a foul by Greg Halford on Chris Solly. Free kick crossed left-footed by Johnnie Jackson from right wing, Sam Hutchinson makes a clearance. Inswinging corner taken right-footed by Jordan Cook from the left by-line, Unfair challenge on Lee Camp by Yann Kermorgant results in a free kick. Lee Camp restarts play with the free kick.
Bradley Pritchard takes a shot. Save by Lee Camp. Simon Cox is ruled offside. Ben Hamer restarts play with the free kick.
Simon Cox takes the chance to get an effort at goal. Ben Hamer makes a save.
The second half begins.
45:00 +2:09 Half time
Half Time The half-time whistle blows.
Corner taken by Jordan Cook, save by Lee Camp.
Bradley Pritchard fouled by Greg Halford, the ref awards a free kick. Johnnie Jackson crosses the ball from the free kick left-footed from left channel, clearance made by Danny Collins.
The referee blows for offside against Adlene Guedioura. Ben Hamer takes the free kick.
Free kick awarded for a foul by Johnnie Jackson on Daniel Ayala. Free kick taken by Lee Camp.
Foul by Simon Gillett on Bradley Pritchard, free kick awarded. Chris Solly takes the direct free kick.
Johnnie Jackson gives away a free kick for an unfair challenge on Dexter Blackstock. Sam Hutchinson takes the free kick.
Lewis McGugan takes a shot. Save made by Ben Hamer.
Chris Solly produces a cross, Close range header by Johnnie Jackson goes wide of the left-hand post.
Foul by Simon Gillett on Bradley Pritchard, free kick awarded. Free kick taken by Chris Solly.
The ball is delivered by Bradley Wright-Phillips, Lee Camp makes a save.
The referee penalises Bradley Wright-Phillips for handball. Sam Hutchinson restarts play with the free kick.
The referee penalises Adlene Guedioura for handball. Free kick taken by Rhoys Wiggins.
Lewis McGugan takes a shot. Blocked by Michael Morrison. Corner from the right by-line taken by Lewis McGugan, Danny Collins has an effort at goal from deep inside the area missing to the left of the target.
Unfair challenge on Bradley Wright-Phillips by Daniel Ayala results in a free kick. Chris Solly restarts play with the free kick.
Andy Reid sends in a cross, Dexter Blackstock has a headed effort at goal from deep inside the area missing to the right of the goal.
16:24 Goal scored
Goal! - Lewis McGugan - Nott'm For 1 - 0 Charlton Goal scored by Lewis McGugan from 35+ yards to the bottom right corner of the goal. Nottm Forest 1-0 Charlton.
Foul by Johnnie Jackson on Simon Cox, free kick awarded. Lewis McGugan crosses the ball from the free kick right-footed from left wing,
Bradley Wright-Phillips sends in a cross, clearance by Lewis McGugan. Inswinging corner taken right-footed by Jordan Cook from the left by-line to the near post, clearance by Daniel Ayala.
Dexter Blackstock challenges Bradley Pritchard unfairly and gives away a free kick. Ben Hamer takes the direct free kick.
Danny Hollands concedes a free kick for a foul on Dexter Blackstock. The offside flag is raised against Dexter Blackstock. Ben Hamer restarts play with the free kick.
Adlene Guedioura takes a shot.
Danny Collins fouled by Yann Kermorgant, the ref awards a free kick. Danny Collins takes the free kick.
Dexter Blackstock takes a shot. Save by Ben Hamer.
The ball is delivered by Andy Reid. Outswinging corner taken by Andy Reid, clearance by Danny Hollands.
The assistant referee flags for offside against Bradley Wright-Phillips. Lee Camp restarts play with the free kick.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.