Charlton moved off the bottom of the Championship on goal difference after a draw at fellow strugglers Millwall.

Fred Onyedinma headed an early Millwall chance wide, while Charlton's Callum Harriott had an effort saved by David Forde when one-on-one with the keeper.

Harriott also sent a volley wide before he set up Reza Ghoochannejhad, who shot straight at Forde.

Stefan Maierhofer headed over for Millwall, for who Owen Garvan had a late free-kick tipped over.

The home side applied all the late pressure but Charlton held on for a point in their second goalless draw since Jose Riga took over as their manager.

The Addicks are now three points adrift of the Lions with three games in hand on their rivals, who are just one place above the relegation zone.

Millwall lacked a cutting edge in the final third as their winless run at the Den stretched to six games.

Millwall manager Ian Holloway:

"I thought it was going to be a fairytale, young Fred (Onyedinma) when he whipped his head round that I thought 'here we go, go on son'. Unfortunately it went the wrong side.

"And they've come in and they're probably happier with it than I am. But I thought the crowd were excellent and I thought we kept trying.

"I thought there was a bit of nerves out there. We didn't create as many chances as we can. And that's very tough when you end up in a situation like we are in. You have got to be brave to play the way I want to. Hopefully I have simplified it for them."

Charlton manager Jose Riga:

"My thought is that we physically were still feeling the effects of the game that we had at home on Wednesday (against Huddersfield).

"In the first half we didn't have a lot of chances but we had a lot of corners. In some moments we created some chances but the finishing was not there. I have seen my team all game in a good defensive collaboration. It was not easy all of the time but we tried to create some opportunities.

"The result was logical, though of course I would prefer to win. Certainly for me our game in the week had an effect. I am not disappointed with the result and I am happy with the way that players showed that they would take something from Millwall."

Lineup, Bookings (6) & Substitutions (6)

Millwall

  • 01 Forde
  • 02 Dunne Booked (Fredericks - 72' )
  • 17 Williams Booked
  • 29 Garvan
  • 05 Robinson
  • 12 Lowry Booked
  • 19 Jackson (McDonald - 56' )
  • 15 Upson (Maierhofer - 51' )
  • 09 Morison
  • 34 Onyedinma
  • 11 Woolford

Substitutes

  • 14 Fredericks
  • 16 Beevers
  • 27 McDonald
  • 28 Malone
  • 32 Marquis
  • 42 Maierhofer
  • 43 Bywater

Charlton Athletic

  • 01 Hamer
  • 23 Wilson
  • 16 Wiggins
  • 39 Poyet
  • 05 Morrison
  • 06 Dervite
  • 14 Pritchard Booked (Church - 78' )
  • 04 Jackson Booked
  • 10 Sordell Booked (Ghoochanneijhad - 65' )
  • 42 Ajdarevic (Cousins - 45' )
  • 11 Harriott

Substitutes

  • 07 Green
  • 08 Ghoochanneijhad
  • 09 Church
  • 15 Wood
  • 21 Thuram-Ulien
  • 24 Cousins
  • 25 Nego
Ref: Phil Dowd
Att: 16,102

Match Stats

Shots

16 15

On target

3 2

Corners

6 7

Fouls

9 17

Live Text Commentary

Full time

Full Time Match ends, Millwall 0, Charlton Athletic 0.

90:00 +3:13 Full time

Full Time Second Half ends, Millwall 0, Charlton Athletic 0.

90:00 +1:49

Corner, Millwall. Conceded by Dorian Dervite.

89:56

Corner, Millwall. Conceded by Ben Hamer.

89:04

Foul by Rhoys Wiggins (Charlton Athletic).

89:04

Scott McDonald (Millwall) wins a free kick on the right wing.

88:32

Foul by Lawrie Wilson (Charlton Athletic).

88:32

Fred Onyedinma (Millwall) wins a free kick on the left wing.

86:49

Foul by Lawrie Wilson (Charlton Athletic).

86:49

Fred Onyedinma (Millwall) wins a free kick on the left wing.

86:14

Attempt missed. Steve Morison (Millwall) header from the centre of the box misses to the left. Assisted by Ryan Fredericks with a cross.

82:10

Corner, Charlton Athletic. Conceded by Shane Lowry.

82:00

Attempt blocked. Johnnie Jackson (Charlton Athletic) left footed shot from outside the box is blocked.

81:49

Delay over. They are ready to continue.

80:36

Delay in match Reza Ghoochanneijhad (Charlton Athletic) because of an injury.

79:58 Booking

Booking Shane Lowry (Millwall) is shown the yellow card for a bad foul.

79:48

Reza Ghoochanneijhad (Charlton Athletic) wins a free kick in the attacking half.

79:48

Foul by Shane Lowry (Millwall).

78:32

Lawrie Wilson (Charlton Athletic) wins a free kick in the defensive half.

78:32

Foul by Stefan Maierhofer (Millwall).

77:16 Substitution

Substitution Substitution, Charlton Athletic. Simon Church replaces Bradley Pritchard.

76:23

Foul by Callum Harriott (Charlton Athletic).

76:23

Ryan Fredericks (Millwall) wins a free kick in the defensive half.

73:09

Foul by Diego Poyet (Charlton Athletic).

73:09

Owen Garvan (Millwall) wins a free kick in the attacking half.

71:46 Substitution

Substitution Substitution, Millwall. Ryan Fredericks replaces Alan Dunne.

71:20

Attempt missed. Stefan Maierhofer (Millwall) header from very close range is too high. Assisted by Owen Garvan with a cross following a corner.

70:29

Corner, Millwall. Conceded by Lawrie Wilson.

69:44

Foul by Reza Ghoochanneijhad (Charlton Athletic).

69:44

Martyn Woolford (Millwall) wins a free kick on the right wing.

68:59

Corner, Millwall. Conceded by Dorian Dervite.

68:08

Attempt blocked. Reza Ghoochanneijhad (Charlton Athletic) right footed shot from the centre of the box is blocked. Assisted by Bradley Pritchard.

67:15

Ben Hamer (Charlton Athletic) wins a free kick in the defensive half.

67:15

Foul by Steve Morison (Millwall).

66:46

Corner, Millwall. Conceded by Dorian Dervite.

64:40 Substitution

Substitution Substitution, Charlton Athletic. Reza Ghoochanneijhad replaces Marvin Sordell.

63:23 Booking

Booking Alan Dunne (Millwall) is shown the yellow card for a bad foul.

63:16

Bradley Pritchard (Charlton Athletic) wins a free kick on the left wing.

63:16

Foul by Alan Dunne (Millwall).

62:59

Attempt blocked. Marvin Sordell (Charlton Athletic) right footed shot from the centre of the box is blocked.

62:56

Attempt blocked. Jordan Cousins (Charlton Athletic) right footed shot from a difficult angle on the right is blocked. Assisted by Marvin Sordell.

60:10

Attempt blocked. Dorian Dervite (Charlton Athletic) right footed shot from outside the box is blocked. Assisted by Callum Harriott.

59:17

Johnnie Jackson (Charlton Athletic) wins a free kick in the attacking half.

59:17

Foul by Paul Robinson (Millwall).

58:03

Foul by Michael Morrison (Charlton Athletic).

58:03

Stefan Maierhofer (Millwall) wins a free kick in the defensive half.

56:55

Offside, Millwall. Owen Garvan tries a through ball, but Stefan Maierhofer is caught offside.

55:59 Substitution

Substitution Substitution, Millwall. Scott McDonald replaces Simeon Jackson.

54:59

Attempt saved. Stefan Maierhofer (Millwall) right footed shot from outside the box is saved in the top left corner. Assisted by Steve Morison.

54:02

Attempt missed. Owen Garvan (Millwall) left footed shot from outside the box is high and wide to the left. Assisted by Stefan Maierhofer with a headed pass.

53:08 Booking

Booking Marvin Sordell (Charlton Athletic) is shown the yellow card.

53:05

Marvin Sordell (Charlton Athletic) has gone down, but that's a dive.

52:29

Foul by Stefan Maierhofer (Millwall).

52:29

Jordan Cousins (Charlton Athletic) wins a free kick in the defensive half.

50:31 Substitution

Substitution Substitution, Millwall. Stefan Maierhofer replaces Edward Upson.

49:17

Attempt missed. Callum Harriott (Charlton Athletic) right footed shot from the right side of the six yard box misses to the right. Assisted by Rhoys Wiggins with a cross.

47:24

Attempt blocked. Martyn Woolford (Millwall) left footed shot from outside the box is blocked. Assisted by Shane Lowry.

46:43

Attempt blocked. Owen Garvan (Millwall) right footed shot from outside the box is blocked.

45:53

Martyn Woolford (Millwall) wins a free kick in the attacking half.

45:53

Foul by Dorian Dervite (Charlton Athletic).

45:00

Second Half begins Millwall 0, Charlton Athletic 0.

45:00 Substitution

Substitution Substitution, Charlton Athletic. Jordan Cousins replaces Astrit Ajdarevic.

45:00 +1:01 Half time

Half Time First Half ends, Millwall 0, Charlton Athletic 0.

44:55

Attempt blocked. Steve Morison (Millwall) right footed shot from the centre of the box is blocked.

44:11

Corner, Millwall. Conceded by Ben Hamer.

44:09

Attempt saved. Edward Upson (Millwall) right footed shot from outside the box is saved in the bottom left corner. Assisted by Alan Dunne.

44:01

Attempt blocked. Martyn Woolford (Millwall) right footed shot from outside the box is blocked. Assisted by Simeon Jackson.

43:43

Delay over. They are ready to continue.

42:55

Delay in match Callum Harriott (Charlton Athletic) because of an injury.

42:34 Booking

Booking Shaun Williams (Millwall) is shown the yellow card.

41:03

Attempt missed. Bradley Pritchard (Charlton Athletic) right footed shot from a difficult angle on the left misses to the left. Assisted by Diego Poyet.

39:41

Owen Garvan (Millwall) wins a free kick in the defensive half.

39:41

Foul by Callum Harriott (Charlton Athletic).

38:26

Attempt blocked. Astrit Ajdarevic (Charlton Athletic) left footed shot from outside the box is blocked. Assisted by Lawrie Wilson.

37:02

Edward Upson (Millwall) wins a free kick in the defensive half.

37:02

Foul by Bradley Pritchard (Charlton Athletic).

35:41 Booking

Booking Bradley Pritchard (Charlton Athletic) is shown the yellow card for a bad foul.

35:32

Fred Onyedinma (Millwall) wins a free kick in the defensive half.

35:32

Foul by Bradley Pritchard (Charlton Athletic).

35:01

Corner, Charlton Athletic. Conceded by Alan Dunne.

33:06

Shane Lowry (Millwall) wins a free kick in the defensive half.

33:06

Foul by Astrit Ajdarevic (Charlton Athletic).

31:54

Attempt missed. Steve Morison (Millwall) right footed shot from the centre of the box is close, but misses to the left. Assisted by Alan Dunne.

30:07

Attempt missed. Fred Onyedinma (Millwall) right footed shot from outside the box misses to the left.

29:45

Attempt saved. Johnnie Jackson (Charlton Athletic) header from the centre of the box is saved in the centre of the goal. Assisted by Callum Harriott.

29:12

Corner, Charlton Athletic. Conceded by Shaun Williams.

29:10

Attempt blocked. Callum Harriott (Charlton Athletic) left footed shot from the centre of the box is blocked. Assisted by Rhoys Wiggins with a cross.

27:35

Fred Onyedinma (Millwall) wins a free kick in the defensive half.

27:35

Foul by Bradley Pritchard (Charlton Athletic).

27:31

Attempt blocked. Bradley Pritchard (Charlton Athletic) right footed shot from the centre of the box is blocked. Assisted by Lawrie Wilson with a cross.

24:49 Booking

Booking Johnnie Jackson (Charlton Athletic) is shown the yellow card for a bad foul.

24:36

Edward Upson (Millwall) wins a free kick in the attacking half.

24:36

Foul by Johnnie Jackson (Charlton Athletic).

23:56

Attempt missed. Shaun Williams (Millwall) right footed shot from outside the box misses to the left.

22:25

Corner, Charlton Athletic. Conceded by Alan Dunne.

22:01

Foul by Edward Upson (Millwall).

22:01

Johnnie Jackson (Charlton Athletic) wins a free kick in the defensive half.

21:21

Attempt missed. Marvin Sordell (Charlton Athletic) right footed shot from outside the box misses to the right from a direct free kick.

20:31

Foul by Edward Upson (Millwall).

20:31

Marvin Sordell (Charlton Athletic) wins a free kick in the attacking half.

19:43

Attempt missed. Astrit Ajdarevic (Charlton Athletic) header from a difficult angle on the left misses to the left. Assisted by Johnnie Jackson with a cross following a corner.

19:22

Corner, Charlton Athletic. Conceded by Alan Dunne.

15:25

Fred Onyedinma (Millwall) wins a free kick on the right wing.

15:25

Foul by Johnnie Jackson (Charlton Athletic).

15:07

Attempt saved. Simeon Jackson (Millwall) right footed shot from outside the box is saved in the bottom left corner. Assisted by Martyn Woolford.

14:03

Attempt missed. Callum Harriott (Charlton Athletic) left footed shot from the left side of the box is high and wide to the left. Assisted by Diego Poyet with a headed pass following a corner.

13:37

Corner, Charlton Athletic. Conceded by Alan Dunne.

13:09

Attempt saved. Callum Harriott (Charlton Athletic) left footed shot from outside the box is saved in the centre of the goal. Assisted by Bradley Pritchard.

12:21

Simeon Jackson (Millwall) wins a free kick on the left wing.

12:21

Foul by Michael Morrison (Charlton Athletic).

9:11

Attempt missed. Edward Upson (Millwall) right footed shot from outside the box is high and wide to the right. Assisted by Steve Morison with a headed pass.

7:08

Attempt missed. Fred Onyedinma (Millwall) header from the centre of the box is close, but misses to the left. Assisted by Shaun Williams with a cross.

5:34

Attempt blocked. Simeon Jackson (Millwall) right footed shot from outside the box is blocked. Assisted by Fred Onyedinma.

4:08

Alan Dunne (Millwall) wins a free kick in the defensive half.

4:08

Foul by Callum Harriott (Charlton Athletic).

0:59

Corner, Charlton Athletic. Conceded by Shane Lowry.

0:10

Foul by Simeon Jackson (Millwall).

0:10

Diego Poyet (Charlton Athletic) wins a free kick in the defensive half.

0:00

First Half begins.

0:00

Lineups are announced and players are warming up.

Live data and text provided by our data suppliers