ALAN Dunne's testimonial at The Den produced a thriller as Millwall defeated neighbours Charlton by the odd goal in seven on Saturday.

Dunne, 28, has been with the Lions since the age of 10 and was greeted by large cheers from the home supporters and both teams, who formed a guard of honour for the defender on the day he skippered Millwall.

However, this was no meaningless pre-season friendly, with both teams taking the game seriously only one week before the real action begins in seven days time.

Charlton took the lead with their first attack of the game on three minutes when Darren Purse made a complete hash of his attempted clearance of Rhoys Wiggins' cross from the left.

Bradley Wright-Phillips took full advantage, firing past David Forde from close range to put the visitors in front.

The Lions were back on terms within 10 minutes after they were awarded a free-kick 25 yards from Rob Elliot's goal and the Addicks keeper could do nothing to prevent James Henry's stunning shot flying into the back of his net.

But parity was short lived as Charlton immediately restored their advantage when Wright-Phillips shook off Purse before unleashing a low drive from the edge of the area.

Elliot pulled off a stunning reaction save to tip over John Marquis' header, with Purse heading wide from the resultant corner.

Moments later Marquis' cross just failed to pick out Darius Henderson and Scott Barron, while Henry fired wildly over four minutes later.

Millwall were knocking on the door and equalised again on 27 minutes when Henderson played the ball into the path of Marquis, whose volley gave Elliot no chance.

And the Lions took the lead for the first time two minutes later as Marquis headed home Barron's inviting cross to turn an entertaining game on its head.

Elliot made a double save from Barron and then Marquis before the Addicks stopper was forced to tip over a Barron cross at the expense of a corner.

Scott Wagstaff fired wildly over from just inside the area three minutes before the break, with Henry replicating the effort moments later at the opposite end.

The half-time whistle went with Millwall still in front, with fans of both sides hoping for a repeat of the entertainment levels in the second period.

Paul Robinson was the only change at the break, coming on to replace Purse.

Robinson's first real involvement came with a late 53rd minute tackle on Wright-Phillips, an offence which saw Millwall's regular captain given a talking to by the referee.

Wright-Phillips was soon back in the thick of it, though, producing a shot from inside the area which Forde had to push behind for a corner.

Forde made a very comfortable save from Dale Stephens' low 65th minute shot but there was nothing he could do to prevent Jackson's looping header from Wiggins' cross making it 3-3.

Several substitutions from both sides then followed, one of which saw Hamer Bouazza come on for Barron.

And it was the former Addick who put Millwall back in front on 77 minutes with a free-kick from just outside of the area which gave Elliot no chance.

Substitute Paul Benson placed a low 81st minute shot straight at Forde, while Chris Solly saw a last minute volley sail agonisingly over the bar as Charlton tried desperately to come back yet again.

They couldn't quite muster it and Millwall held on to cap a memorable day for Dunne.

Follow us on Twitter @NewsShopperSprt

Millwall: Forde, Dunne, Craig, Ward, Purse (Robinson 46), Barron (Bouazza 73), Henry, Mkandawire, Racon, Marquis, Henderson (McQuoid 70). Subs not used: Mildenhall, Hackett, Smith, Abdou, Stewart.

Charlton: Elliot, Solly, Wiggins, Morrison, Taylor, Wagstaff, Stephens (Popo 84), Hollands, Jackson (Green 78), Hayes (Benson 73), Wright-Phillips (Pritchard 84). Subs not used: Sullivan, Doherty, Francis, Gough. Att: 6,202.