The Everton boss had seen his side respond to a Charlton equaliser in the last minute through Darren Bent after Joleon Lescott had put the Toffees ahead with just nine minutes to go.
Substitute James McFadden popped up with a stunning winner, which leaves Charlton in the bottom three.
It was McFadden’s first game since January, following a broken metatarsal.
“It was great for James to come off the bench and score the winner. It was a finely worked goal and the finish was outstanding. We fully deserved the win, we kept going, never did we change our system. It wasn’t in doubt that we deserved this.
“We had to handle Darren Bent’s pace. But I do not agree that Charlton deserved to win. It was just a bit to close for comfort.”
He added: “The two substitutions worked well, Gary Naysmith was involved in the goal and James scored it.
“We are in a good position now with four games to go, there is a gap opening now between us and seventh spot. That is vital.
“We had to be patient and the lads kept doing the right things. We must keep going, not get too anxious, and we stuck to the task and fully deserved the win. Overall we were the better side and deserved the victory.”
Wigan’s home draw with Tottenham earlier in the day at least gave Charlton some incentive ahead of a game crucial to both clubs.
But apart from a powerful run from Zheng Zhi, Bent was left to lead the line largely on his own as Everton dominated the opening spell.
Andrew Johnson was sharp and a constant threat, and early on he was clear after a mistake by Souleymane Diawara. But as he got to the box a poor touch took him wide, and Talal El Karkouri smothered the danger.
Lee Carsley went close from 20 yards and a Ben Thatcher tackle stopped Johnson in his tracks again.
Everton’s pressure was mounting, and Beattie was unfortunate not to score in a period of sustained pressure.
Arteta had seen a shot blocked, but Beattie’s slowness irritated the Goodison faithful and eventually David Moyes hauled the striker off, sending on McFadden after 58 minutes.
Everton were making laborious progress, but after 81 minutes Thatcher gave away a needless corner and the Toffees stole in front. Arteta’s cross was nodded out to McFadden, who hit a rising shot Johnson diverted goalwards. Scott Carson made a fine point-blank save, but Lescott was there to crash home the rebound.
Charlton threw on Jimmy Floyd Hasselbaink and Madjid Bougherra, and were finally rewarded in the 90th minute. Bent got the goal that had Charlton boss Alan Pardew leaping around in delight. Everton failed to clear and when the ball came back into the box for Bent, he took it wide of two defenders before lashing it past Tim Howard into the far corner.
That should have been it. But in the second minute of four added on, McFadden claimed a loose ball on the edge of the box and unleashed a fierce drive that flew past Carson.
Pardew felt his side deserved to win: “People will look at the result and say that was expected, but we produced a display that tells a different story. We had plenty of chances before they scored, and even at 1-1.
“We leave here disappointed but our spirit is intact because we put in a fantastic effort. It was a great display of diligence from us and the scoreline does not really reflect what really went on.”
Howard, Hibbert, Yobo, Stubbs (Naysmith 61), Lescott, Osman, Carsley, Neville, Arteta (Anderson 88), Johnson, Beattie (McFadden 58).
Carson, Young, El Karkouri, Diawara, Thatcher (Bougherra 83), Ambrose, Song Billong, Faye (Holland 55), Hughes (Hasselbaink 83), Zheng, Darren Bent.
M Halsey (Lancashire).