Leeds looked the more likely of the two sides to break the deadlock in the first half, but found it difficult to create clear opportunities as Charlton defended stubbornly.
Leeds were inches away from finding the first goal just after the break when McCormack's strike from long distance was pushed against the crossbar by Ben Hamer.
The deadlock was broken in the 55th minute by Charlton when Ghoochannejhad collected a ball in space outside the box, before curling in an unstoppable effort.
Leeds should have been level a few minutes later, but McCormack failed to hit the target from close range after good work from Noel Hunt.
McCormack stepped up from 12 yards, but Hamer guessed correctly to keep the penalty out and keep his side ahead.
Charlton came close to doubling their advantage when Jordan Cousins went through on goal, only to be denied by Butland, who prevented his side from falling further behind with one of the final touches of the game.