Sandro Tonali and Bruno Guimaraes helped Newcastle get closer to qualifying for the Champions League as Chelsea's hopes took a big hit in Tyneside.
Tonali scored in the second minute and Bruno's shot at the end sealed a 2-0 win at St James' Park, while Chelsea played with 10 players for 55 minutes after Nicolas Jackson was shown a red card for elbowing Sven Botman.
Chelsea actually played better with 10 players than with 11, and Nick Pope made important saves in the second half to prevent Marc Cucurella and Enzo Fernandez from equalizing.
With just two games left, Eddie Howe's team climbed back to third place, while Chelsea will miss Jackson for the remainder of the season and are now in a tough spot.
Howe made changes to the lineup, with Botman starting for the first time since February and Murphy playing as a right wing-back instead of the injured Kieran Trippier. Meanwhile, Enzo Maresca fielded the same starting eleven for the third league game in a row.
Newcastle took the lead early on as Tonali capitalized on a mistake and scored from Murphy's cross.
The Magpies looked more dangerous, with Guimaraes missing a good chance in the 13th minute after Barnes' play on the right.
Pope was lucky to see Palmer's shot deflected wide after an initial block, but as Lavia and Jackson controlled the midfield, Chelsea gained momentum.
However, Chelsea's challenge became more difficult when Jackson was sent off for elbowing Botman. Although initially given a yellow card, the decision was reviewed and changed to a red.
Pope comfortably caught Burn's header just before halftime, and Chelsea made it to the break without further trouble.
Maresca brought on James for Madueke at halftime, and Pope had to save a shot from Palmer as Chelsea pushed on with 10 players, although they were still vulnerable on the counter-attack.
Newcastle allowed Chelsea to have the ball, trusting their defense to handle the pressure. Pope had to make a good save to deny Cucurella's shot in the 61st minute.
Fernandez's effort was tipped over by Pope with seven minutes to go, and James missed a header late in the game.
Guimaraes secured the win with a goal in the final minute, with his shot deflecting off Gusto to make it 2-0.