Papiss Cisse, Ayoze Perez and Jack Colback grabbed the goals to ensure Alan Pardew's men are sitting in the top 10 heading into the new year.
Both teams entered the game desperate to recapture their best form, with Newcastle having lost their last four and Everton their previous two.
The visitors looked to be in pole position to bounce back as they flew out of the blocks, taking the lead thanks to a well-taken Arouna Kone goal after five minutes.
But Newcastle came back impressively and headed into the break level as Cisse, back in the XI as one of three alterations, found the net having been fortunate not to be sent off for an elbow moments earlier.
That preceded an initially dominant second-half showing, with Perez and Colback putting Pardew's men in the ascendancy.
Substitute Kevin Mirallas set up a thrilling finale with a goal six minutes from time, yet Newcastle hung on to crank up the pressure on Everton boss Roberto Martinez.
Everton, having made seven changes due to a glut of injuries to the likes of Tim Howard and John Stones, flew out of the blocks and took the lead in just the fifth minute.
Aiden McGeady's throughball freed Seamus Coleman and the right-back sent in a perfect centre that Kone side-footed beyond Jak Alnwick expertly.
Moussa Sissoko was again looking the most threatening Newcastle player, although he was undone by a poor first touch after being put in on goal by Cisse's lovely cushioned header.
That opening did, though, did herald an improvement from the hosts as they pressed hard for a leveller.
Newcastle were lucky not to be reduced to 10 men in the 29th minute, however, as Cisse went unpunished, despite appearing to elbow Coleman to the ground.
And the striker took full advantage of his good fortune to haul Newcastle level five minutes later.
Cheick Tiote sent in a lovely cross to the back post and, after Mike Williamson had cleverly sidefooted the ball down, Cisse slotted a superb volley into the net despite the ball being behind him.
Everton introduced Ross Barkley at the interval in an attempt spark a change, although Newcastle quickly picked up where they left off.
Sissoko was again at the centre of their best work, sending in a superb cross that was poked goalward by Yoan Gouffran - only to be denied by a fine Joel Robles save.
Yet the home side did not have to wait much longer to move ahead, Perez producing a cool finish after being slid in by the impressive Tiote.
Everton almost found a way back into the game from nowhere in the 64th minute, only for Samuel Eto'o to blaze over having been picked out by a fine Leighton Baines pass.
But their hopes were dashed in the 68th minute when Colback netted in a Newcastle shirt for the first time.
Barkley was at fault, making a wayward touch at an attempt to control Daryl Janmaat's ball and leaving the midfielder clean through. Colback subsequently produced a superb finish, deftly poking the ball between the legs of Robles and into the net.
It looked like there may be a twist in the tale when Baines' superb throughball set up Mirallas' cool chipped finish.
But despite the Belgian going close with a 25-yard free-kick, Newcastle - who almost grabbed a fourth when Perez rattled the post - took all three points.