Danny Graham scored his first goal for the club, inadvertently turning home a Jordi Gomez strike on 54 minutes at Goodison Park, and Jermain Defoe added a late second to catapult the visitors out of the relegation zone and into 14th place – for a couple of hours at least.
Everton dominated the match for long periods, winning 15 corners and hitting a post through James McCarthy, but despite creating plenty of opportunities, they only mustered four shots on target.
Sunderland boss Dick Advocaat has now taken 10 points from a possible 18 since taking over from Gus Poyet at the end of March and his side have 36 points in total, with three fixtures remaining against Leicester, Arsenal and Chelsea.
Sunderland started in a defensive 4-5-1 system with Defoe on the right wing and Everton found their stride quickly.
Leon Osman found space on the edge of the area inside seven minutes and whipped an effort just wide of the far upright.
Osman was at the heart of most of Everton’s promising attacks as playmaker Ross Barkley struggled to get into the game and the Everton stalwart found Romelu Lukaku with a splendid through ball on 13 minutes but Costel Pantilimon was alert to the danger to race off his line and make a last-ditch tackle.
Pantilimon was to the rescue again on 41 minutes, this time closing down Lukaku on the edge of his six-yard box after a nice change of pace from the front man. Sunderland failed to clear the danger and Osman should have done better from the edge of the box but fired straight at the visitors’ ‘keeper, who gave a roar of appreciation at his efforts.
Sunderland had offered little as an attacking force in the opening period but opened the scoring nine minutes into the second half.
Gomez took aim from 20 yards and his strike was heading off target until it hit the inside of Graham’s left leg, looped up over Tim Howard and nestled in the net off the right-hand post.
Everton kept on coming after going behind but a mixture of poor decision-making by their forwards and some brave last-ditch defending by the visitors kept Sunderland’s noses in front.
Such was Everton’s wastefulness, Sunderland full-back Patrick van Aanholt actually created one of the better chances of the half with a mesmerising individual run on 62 minutes that took him one-one-one with Howard but he blasted wide from a tight angle.
Everton continued to press and win corner after corner but the ball just wouldn’t drop for them in the area. Lukaku fired wide from 10 yards before McCarthy came closest with a crisp drive from 15 yards that rocketed back off the post.
Just as the Everton fans were strapping themselves in for a grandstand finish, Sunderland performed a second perfect classic smash-and-grab raid.
After soaking up the pressure, they hit the hosts on the counter with substitute Adam Johnson firing a shot from a tight angle that took a deflection off Seamus Coleman’s hip, flew across the face of the goal and Defoe was on hand inside the six-yard box to force the ball home.
Everton: Howard (6), Coleman (6), Stones (7), Jagielka (6), Baines (6), McCarthy (6), Barry (6), Lennon (6), Barkley (6), Osman (7), Lukaku (6)
Subs: Garbutt (6), Mirallas (6).
Sunderland: Pantilimon (7), Jones (7), Coates (7), Brown (6), van Aanholt (7), Larsson (6), Cattermole (8), Gomez (6), Wickham (7), Graham (7), Defoe (8).
Subs: Bridcutt (6), Johnson (7), Fletcher (6).
Man of the Match: Lee Cattermole