Everton produced a late rally to score twice in three minutes and maintain their remarkable 11-year unbeaten record against Sunderland.
Adam Johnson scored his first goal for Sunderland on the stroke of half-time and for a long time it looked like giving his side their first league win over the Toffees in 16 matches.
- Jolly: A grand day out for Everton
- Randall: Mackems' defeat has upside
- O'Farrell: Comeback kings do it again
- Moyes: Comeback was deserved
However, Marouane Fellaini and Nikica Jelavic swung the game decisively in Everton's favour with goals in quick succession in the last 15 minutes to ensure manager David Moyes' 400th Premier League match ended in victory.
It also kept the Toffees in the top four as they stretched their current good run in 2012 to just one defeat in 20 league games.
Sunderland, who have not won away since February, must have thought their luck was about to change against their bogey side after Johnson's strike.
Not only was it his first goal since joining from Manchester City for £10million in August it was the team's first in eight hours 54 minutes of football in all competitions.
He became only the second Black Cats player to score this season, with Steven Fletcher (five) the only other as Newcastle striker Demba Ba's own goal had contributed to the paltry tally of six in nine previous matches.
Going into the weekend Everton were second only to defending champions Manchester City in terms of shots on target but they struggled to live up to that billing as it was Sunderland who posed all the early threats.
Jelavic, who had not scored for more than a month after grabbing four in five games, had an early shout for penalty turned down after John O'Shea's challenge before the visitors had two chances to take the lead.
Stephane Sessegnon shrugged off Seamus Coleman but should have done better as he closed in on goal but keeper Tim Howard, watched by United States coach Jurgen Klinsmann, saved.
Fletcher came even closer when he beat the American with an angled shot from a similar position only to see the ball roll past the far post.
Everton's response saw the lively Kevin Mirallas have a shot blocked by Danny Rose and Steven Pienaar denied by Simon Mignolet before the Toffees were dealt a blow when the former was forced off with a hamstring injury and had to be replaced by Steven Naismith.
The hosts had got themselves back into the game by this point and the sight of Phil Neville shooting from distance, forcing Mignolet to palm away, highlighted the confidence running currently through the team.
However, with virtually the last kick of the half Johnson struck with a neat volley.
Sebastian Larsson's corner was only half headed clear by Jelavic and when Craig Gardner curled a cross towards the far side of the penalty area the England international pounced.
Johnson also found himself in the right position early in the second half as he cleared John Heitinga's header off the line.
Substitute Apostolos Vellios, in his first appearance of the season after replacing Neville, headed at Mignolet but within minutes were ahead.
Leon Osman, named in an England squad for the first time this week at the age of 31, and Fellaini played a big part in both.
In the 76th minute Osman slid the ball through to his midfield colleague on the edge of the penalty area and the Belgium international turned before firing a low shot through a crowd of players, across Mignolet and into the far corner.
The same two players then combined again - Fellaini's cheeky backheel going through O'Shea's legs - to allow Jelavic to clip home a first-time shot and clinch a sixth successive Premier League home win against Sunderland.