Charlton goalkeeper Ben Hamer was already diving to his right to keep out McDonald's speculative 25-yard drive when it flicked off defender Dorian Dervite and rolled inside the keeper's left-hand post.
The result meant Millwall, who were rock-bottom seven days ago, leapfrogged their south London rivals in the table.
"It was a home game and a derby and I wanted us to put the opposition on the back foot, but we didn't do that," admitted Powell.
"In the first half I really needed more from my players, in respect of creativity.
"Then after the goal we were always chasing the game and although we had one or two situations we couldn't break the deadlock.
"We've got to realise it will be a tough old season for us, but we have to believe we can turn it around.
"Millwall were buoyed by their result in the week and they've showed how quickly things can change."
Charlton, without injured top scorer Yann Kermorgant, rarely threatened an equaliser.
Simon Church had their best chance 14 minutes from the end when he was put through by substitute Marvin Sordell, but Lions keeper David Forde made a fine save.