Michael Appleton's first match in charge of Blackburn ended in defeat as Charlton secured their third straight Championship victory.
A long-range half-volley from Dale Stephens gave Charlton a deserved lead and Rovers' Martin Olsson cleared off the line from Lawrie Wilson.
Jordan Rhodes produced a superb diving header to level matters and claim his 15th goal in 25 Blackburn appearances.
But Yann Kermorgant headed home Bradley Pritchard's cross for the winner.
The victory sees Chris Powell's Addicks leapfrog Blackburn to go 12th in the table, while the pre-season promotion favourites lie 10 points off the play-off places in 14th.
Charlton end Ewood jinx
Charlton's victory was the first time they have picked up points at Ewood Park since a 1-0 victory in the Premier League in October 2003.
Owners Venky's were in attendance for Appleton's Ewood Park debut and received a predictably hostile greeting from the home support.
Appleton stuck with the same Blackburn XI that drew 1-1 with Wolves last Friday at the end of a four-game unbeaten stretch under caretaker boss Gary Bowyer, while Charlton were also unchanged.
Simon Vukcevic and Ruben Rochina were off target with speculative efforts for Blackburn during the opening exchanges as Charlton failed to make an early impression.
But the visitors found an opener on 26 minutes when full-back Chris Solly burst clear of Colin Kazim-Richards down the right and his cross was only partially cleared by Olsson, leaving Stephens to find the top corner from 25 yards.
Moments later, Rovers keeper Jake Kean denied Johnnie Jackson and Olsson hacked Wilson's follow-up off the line.
Rovers, booed off the pitch at half-time, responded three minutes after the restart when Rhodes planted a diving header from Kazim-Richards's right-wing cross beyond the outstretched Ben Hamer into the bottom-left corner.
The Addicks got their winner when Kermorgant looped a header home from Pritchard's first-time cross and comfortably saw out the remaining 25 minutes.
Blackburn boss Michael Appleton: "I think the atmosphere in the stadium was a strange one. I'm sure the supporters just want to see a committed performance from the players. I think they huffed and puffed today but I'm not sure how committed they were once we conceded the second goal, which was a disappointment.
"There's no time to shirk your responsibilities. We're professional people, whether you're manager, coach or a player. You've got to take the responsibility that goes with it."
Charlton manager Chris Powell: "We've been very positive away from home this season.
"We've had some good results on the road and the team warranted their places after their performances last week. We were very positive in our mindset and I think it showed today."
Live Text Commentary
Full Time The match has reached full-time.90:00 +3:16
Callum Harriott takes a shot. Save made by Jake Kean.90:00 +2:20 Substitution
Substitution Lawrie Wilson leaves the field to be replaced by Callum Harriott.90:00 +1:58
Shot from deep inside the area by Martin Olsson clears the crossbar.90:00 +1:40
Corner taken by Morten Gamst Pedersen from the right by-line, clearance made by Ben Hamer.90:00 +0:49
Jordan Rhodes has a headed effort at goal from deep inside the area missing to the left of the target.90:00 +0:21
Corner taken short by Colin Kazim-Richards.89:53
Todd Kane takes a shot. Johnnie Jackson gets a block in.88:26
Unfair challenge on Grant Hanley by Yann Kermorgant results in a free kick. Martin Olsson takes the free kick.84:18
The ball is delivered by Colin Kazim-Richards.81:38
Yann Kermorgant fouled by Danny Murphy, the ref awards a free kick. Free kick taken by Chris Solly.80:25
Free kick awarded for an unfair challenge on Cedric Evina by Colin Kazim-Richards. Ben Hamer takes the direct free kick.77:07 Substitution
Substitution Dorian Dervite replaces Scott Wagstaff.77:07 Substitution
Substitution Ruben Rochina leaves the field to be replaced by Miguel Nuno Gomes.75:35
Yann Kermorgant gives away a free kick for an unfair challenge on Danny Murphy. Jason Lowe restarts play with the free kick.69:13 Substitution
Substitution Simon Vukcevic goes off and Morten Gamst Pedersen comes on.68:17
Ruben Rochina gives away a free kick for an unfair challenge on Chris Solly. Chris Solly takes the free kick.65:37
Colin Kazim-Richards produces a header from deep inside the six-yard box which goes wide of the right-hand post.64:54
Lawrie Wilson takes a shot. Save by Jake Kean.63:36
Assist on the goal came from Bradley Pritchard.
Goal! - Yann Kermorgant - Blackburn 1 - 2 Charlton Yann Kermorgant grabs a headed goal from inside the area. Blackburn 1-2 Charlton.63:01
Johnnie Jackson takes a inswinging corner to the near post, Colin Kazim-Richards manages to make a clearance.62:19
Inswinging corner taken from the left by-line by Dale Stephens.60:13
Inswinging corner taken left-footed by Ruben Rochina played to the near post, Johnnie Jackson makes a clearance.59:54
Colin Kazim-Richards takes a shot. Save made by Ben Hamer.58:41
The referee blows for offside. Indirect free kick taken by Martin Olsson.54:46
Free kick awarded for a foul by Simon Vukcevic on Johnnie Jackson. Free kick taken by Ben Hamer.53:28
Colin Kazim-Richards gives away a free kick for an unfair challenge on Matthew Taylor. Direct free kick taken by Ben Hamer.53:09
Scott Wagstaff concedes a free kick for a foul on Jason Lowe. Direct free kick taken by Danny Murphy.51:59
Unfair challenge on Ruben Rochina by Chris Solly results in a free kick. Martin Olsson takes the free kick.51:00
Ruben Rochina fouled by Chris Solly, the ref awards a free kick. Free kick taken by Danny Murphy.50:21
Dale Stephens produces a right-footed shot from just outside the box that goes wide right of the target.49:56
Bradley Pritchard takes a shot. Blocked by Ben Hamer.47:44
Colin Kazim-Richards provided the assist for the goal.47:44 Goal scored
Goal! - Jordan Rhodes - Blackburn 1 - 1 Charlton Jordan Rhodes finds the net with a headed goal from close in. Blackburn 1-1 Charlton.45:48
Shot from inside the six-yard box by Jordan Rhodes goes wide right of the goal.45:01
The referee gets the second half started.45:00 +1:03 Half time
Half Time The ref blows to end the first period.43:44
Unfair challenge on Simon Vukcevic by Dale Stephens results in a free kick. Free kick taken by Danny Murphy.41:47
Bradley Pritchard fouled by Simon Vukcevic, the ref awards a free kick. Direct free kick taken by Ben Hamer.40:42
Colin Kazim-Richards fouled by Bradley Pritchard, the ref awards a free kick. Ruben Rochina restarts play with the free kick.36:01
Jason Lowe challenges Yann Kermorgant unfairly and gives away a free kick. Chris Solly takes the direct free kick.34:26
The referee blows for offside. Indirect free kick taken by Ben Hamer.33:55
Scott Wagstaff challenges Danny Murphy unfairly and gives away a free kick. Ruben Rochina takes the direct free kick.29:57
Free kick awarded for an unfair challenge on Ruben Rochina by Dale Stephens. Todd Kane takes the free kick.27:02
Johnnie Jackson takes a shot. Save by Jake Kean. Yann Kermorgant takes a shot. Martin Olsson manages to make a clearance.25:12 Goal scored
Goal! - Dale Stephens - Blackburn 0 - 1 Charlton Dale Stephens grabs a goal from outside the penalty box to the top left corner of the goal. Blackburn 0-1 Charlton.24:36
Jason Lowe gives away a free kick for an unfair challenge on Bradley Pritchard. Johnnie Jackson takes the free kick.22:49
Inswinging corner taken by Ruben Rochina, Colin Kazim-Richards takes a shot. Ben Hamer makes a comfortable save.20:33
The ball is crossed by Jason Lowe.14:29
Unfair challenge on Jordan Rhodes by Matthew Taylor results in a free kick. Danny Murphy takes the direct free kick.11:44
Unfair challenge on Chris Solly by Colin Kazim-Richards results in a free kick. Lawrie Wilson takes the direct free kick.7:59
Shot from just outside the area by Simon Vukcevic misses to the left of the target.5:23
Free kick awarded for an unfair challenge on Scott Wagstaff by Todd Kane. Johnnie Jackson takes the direct free kick.1:13
Shot from just outside the box by Simon Vukcevic misses to the right of the target.0:00
The match has kicked off.
Live data and text provided by our data suppliers