Ten-man Portsmouth endured a night to forget in south-east London as Charlton maintained their unbeaten home record this season with an impressive 3-0 victory.
Charlton were in a commanding position by the break. A short corner from the hosts saw Scott Fraser swing in a cross and centre-back Ryan Inniss outmuscled Michael Morrison to head past Joshua Griffiths.
Referee Dean Whitestone did not penalise Eoghan O’Connell for a shirt pull in the box on Dane Scarlett, although the Portsmouth striker looked to have strayed offside anyway.
Portsmouth were punished in the 31st minute as their attack broke down and Corey Blackett-Taylor fired between the legs of Griffiths after being played through by Charlie Kirk.
It took a superb one-handed save by the Portsmouth goalkeeper to tip over Blackett-Taylor’s right-footed strike in the 54th minute.
Any prospects of a comeback were completely extinguished when Marlon Pack was dismissed for a second bookable offence in the 66th minute, with Fraser flighting in the resultant free-kick for O’Connell to head beyond Griffiths for his first goal since a summer move from Rochdale.