Jermaine Easter scored with his first touch for Millwall as they claimed a deserved victory over rivals Charlton.
Yann Kermorgant went closest for Charlton when he curled a free-kick just over, early in the second half.
Then on-loan striker Easter, who joined from Crystal Palace on Friday until the end of the season, put Millwall in front a minute after coming on.
Defender Shane Lowry hit a superb free-kick to double the visitors' advantage and seal the victory.
Millwall, who beat Blackburn on Wednesday to earn an FA Cup semi-final place, had taken their eye off league matters with seven defeats in their last eight games, so manager Kenny Jackett will be relieved to have taken three points in this south London derby.
The Lions created the best of the few chances in the first half as Dany N'Guessan fired an early effort wide before Liam Trotter missed the target with a volley.
Charlton have now lost nine league games at The Valley this season
The hosts' Bradley Pritchard forced David Forde into a save with a dipping shot which the Millwall goalkeeper needed two attempts to gather. Forde then tipped a powerful Callum Harriott strike wide.
Easter, who scored on his Millwall debut during a previous loan spell in 2008, latched onto a clever through-ball from Richard Chaplow, who also signed on loan on Friday from Southampton, and the striker flicked it under the advancing Charlton goalkeeper David Button.
Pritchard then fouled Adam Smith 35 yards out and Lowry curled a superb, dipping free-kick past Button for his first goal of the season to ease fears of being dragged into the relegation scrap.
Charlton manager Chris Powell:
"I'm mystified by it (not winning at home since 12 January). I'm baffled. I'm embarrassed for my players and for my supporters because we have tried everything with regards to performing at home.
"Of course goals change games and we ended up chasing it. It was an outstanding goal by Shane Lowry and we ended up losing.
"We created the better chances but you have to take the ones that come your way. It didn't happen through good defending, good goalkeeping or us not hitting the target. We have just got to soldier on."
Millwall manager Kenny Jackett:
"The first goal was always going to be crucial. It was a very tight game and conditions were tough.
"We started the morning five points off the bottom of the league and we had to get going.
"Hopefully the players can take confidence from what has been a very good week."
Live Text Commentary
Full Time The final whistle is blown by the referee.90:00 +2:52
Bradley Pritchard challenges Rob Hulse unfairly and gives away a free kick. David Forde takes the free kick.90:00 +2:10
Yann Kermorgant delivers the ball, clearance by Shane Lowry.89:28
Foul by Jermaine Easter on Rhoys Wiggins, free kick awarded. Free kick taken by David Button.88:32
Foul by Johnnie Jackson on Chris Taylor, free kick awarded. Direct free kick taken by Alan Dunne.87:38
Danny Shittu fouled by Scott Wagstaff, the ref awards a free kick. Direct free kick taken by David Forde.86:12
Free kick awarded for an unfair challenge on Callum Harriott by Adam Smith. Chris Solly restarts play with the free kick.85:49
Headed effort from inside the penalty area by Liam Trotter misses to the right of the target.85:20
Scott Wagstaff gives away a free kick for an unfair challenge on Alan Dunne. Free kick taken by Chris Taylor.84:34
Shot from inside the area by Ricardo Fuller clears the bar.84:09
Liam Trotter challenges Chris Solly unfairly and gives away a free kick. Chris Solly restarts play with the free kick.83:32
Callum Harriott sends in a cross, clearance made by Adam Smith.83:19
The ball is delivered by Johnnie Jackson, Danny Shittu makes a clearance.81:08
The ball is delivered by Chris Solly, save by David Forde.80:57
The ball is crossed by Callum Harriott.79:31
Foul by Johnnie Jackson on Nadjim Abdou, free kick awarded. Free kick taken by Shane Lowry.78:51
Shot from 35 yards by Rob Hulse went wide right of the net.74:26
Chris Taylor takes a inswinging corner.72:50
A cross is delivered by Yann Kermorgant.72:29
Centre by Bradley Pritchard, Liam Trotter gets a block in.
Substitution Nadjim Abdou is brought on as a substitute for Richard Chaplow.70:49
Header by Yann Kermorgant from deep inside the penalty area misses to the left of the goal.70:21
Scott Wagstaff sends in a cross, clearance by Danny Shittu.68:49
Yann Kermorgant is penalised for handball and concedes a free kick. Shane Lowry takes the free kick.66:07 Substitution
Substitution Lawrie Wilson leaves the field to be replaced by Scott Wagstaff.66:07 Substitution
Substitution Danny Haynes goes off and Ricardo Fuller comes on.63:54
The assist for the goal came from Adam Smith.63:54 Goal scored
Goal! - Shane Lowry - Charlton 0 - 2 Millwall Free kick scored by Shane Lowry from long range to the top right corner of the goal. Charlton 0-2 Millwall.63:15 Booking
Booking Bradley Pritchard booked.63:10
Adam Smith fouled by Bradley Pritchard, the ref awards a free kick.62:58
Chris Taylor produces a cross, clearance by Michael Morrison.62:47
Liam Trotter takes a shot. Blocked by Johnnie Jackson.62:18
Richard Chaplow takes a shot. Blocked by Matthew Taylor.61:09
The ball is swung over by Chris Solly.60:16
Callum Harriott concedes a free kick for a foul on Alan Dunne. David Forde restarts play with the free kick.59:44
Centre by Jermaine Easter, save made by David Button.57:56
Assist on the goal came from Richard Chaplow.57:56 Goal scored
Goal! - Jermaine Easter - Charlton 0 - 1 Millwall A goal is scored by Jermaine Easter from close in to the bottom left corner of the goal. Charlton 0-1 Millwall.57:49
Richard Chaplow delivers the ball,56:48 Substitution
Substitution Jermaine Easter is brought on as a substitute for Dany N'Guessan.56:13
Centre by Rhoys Wiggins, Shot by Lawrie Wilson from inside the six-yard box clear the bar.55:31
The ball is sent over by Callum Harriott, clearance by Shane Lowry.54:42
Chris Solly challenges Dany N'Guessan unfairly and gives away a free kick. Free kick crossed right-footed by Chris Taylor from left wing, clearance made by Matthew Taylor.53:27
Liam Trotter concedes a free kick for a foul on Johnnie Jackson. Chris Solly sends in a cross, Callum Harriott produces a right-footed shot from just outside the area that goes harmlessly over the target.51:14
Free kick awarded for a foul by Rob Hulse on Michael Morrison. David Button takes the free kick.50:25
Callum Harriott crosses the ball, save by David Forde.46:07
Yann Kermorgant has an effort direct from the free kick.46:07 Booking
Booking Alan Dunne receives a caution.46:01
Alan Dunne gives away a free kick for an unfair challenge on Callum Harriott.45:01
The second half kicks off.45:00 +2:09 Half time
Half Time The ref blows to end the first period.45:00 +1:31
Yann Kermorgant concedes a free kick for a foul on Chris Taylor. Free kick crossed right-footed by Alan Dunne, Rhoys Wiggins makes a clearance.45:00 +0:04
A cross is delivered by Dany N'Guessan, Adam Smith has an effort at goal from deep inside the area missing to the left of the goal.43:27
Free kick taken by David Button.43:27 Booking
Booking Adam Smith is cautioned.43:24
Free kick awarded for a foul by Adam Smith on Lawrie Wilson.42:25
The offside flag is raised against Danny Haynes. Free kick taken by David Forde.41:54
Danny Shittu sends in a cross, David Button makes a save.40:45
The ball is delivered by Callum Harriott, Yann Kermorgant produces a volleyed right-footed shot from deep inside the penalty box which goes wide of the left-hand post.38:22
The offside flag is raised against Chris Taylor. David Button takes the free kick.38:13
The ball is swung over by Chris Taylor, clearance by Matthew Taylor.35:37
Shot by Rob Hulse from a long way out goes over the target.34:24
Corner taken by Johnnie Jackson from the right by-line, free kick awarded for a foul by Lawrie Wilson on David Forde. David Forde takes the free kick.34:10
Callum Harriott takes a shot. Save made by David Forde.33:04
Foul by Richard Chaplow on Johnnie Jackson, free kick awarded. Free kick taken by David Button.30:48
The official flags Rob Hulse offside. David Button restarts play with the free kick.28:07
The ball is delivered by Chris Solly, clearance made by Jack Smith. The ball is swung over by Callum Harriott, comfortable save by David Forde.27:45
Adam Smith produces a cross, save by David Button.26:09
Chris Taylor takes a outswinging corner.26:02
The ball is swung over by Chris Taylor, blocked by Rhoys Wiggins.22:02
Yann Kermorgant challenges Adam Smith unfairly and gives away a free kick. Shane Lowry takes the free kick.21:22
Free kick awarded for a foul by Rob Hulse on Michael Morrison. Free kick taken by David Button.20:13
Callum Harriott challenges Liam Trotter unfairly and gives away a free kick. Alan Dunne takes the direct free kick.16:08 Substitution
Substitution Karleigh Osborne goes off and Adam Smith comes on.12:37
Shot by Johnnie Jackson. Danny Shittu gets a block in.11:54
Dany N'Guessan is caught offside. Free kick taken by David Button.10:20
Foul by Karleigh Osborne on Yann Kermorgant, free kick awarded. Chris Solly takes the direct free kick.9:24
Unfair challenge on Alan Dunne by Callum Harriott results in a free kick. The free kick is delivered right-footed by Chris Taylor from right wing, Johnnie Jackson manages to make a clearance.7:06
Inswinging corner taken by Johnnie Jackson from the right by-line played to the near post, Shane Lowry makes a clearance. Effort on goal by Bradley Pritchard from deep inside the area goes harmlessly over the bar.4:41
Rob Hulse takes a shot. Michael Morrison gets a block in. Effort from deep inside the area by Liam Trotter misses to the left of the goal.3:48
Rob Hulse takes a shot.2:55
Bradley Pritchard takes a shot. David Forde makes a save.1:24
Dany N'Guessan has an effort at goal from outside the penalty area which goes wide right of the goal.0:10
Rob Hulse challenges Matthew Taylor unfairly and gives away a free kick. David Button restarts play with the free kick.0:00
The game gets underway.
Live data and text provided by our data suppliers