Dwight Yorke scored a hat-trick but still ended up on the losing side as 10-man Aston Villa’s six-match unbeaten run was ended by Newcastle United.
Yorke opened the scoring in the fourth minute, but Les Ferdinand responded in the fifth minute and then put Newcastle ahead midway through the half.
Matters worsened for the visitors in the 10 minutes before half-time as Alan Shearer made it 3-1 and Mark Draper was sent off.
And, although Yorke netted twice more in the second period, Steve Howey's strike in between ensured Newcastle stayed ahead and claimed the points.
The Magpies moved back into second place, two points behind leaders Liverpool, while Aston Villa sat eighth.
Bolton Wanderers beat Liverpool to inflict a third consecutive Premier League away defeat on Rafa Benitez’s side.
Gary Speed gave Bolton the lead with a first-half free-kick and Ivan Campo doubled the advantage with a header early in the second half.
Sam Allardyce's side moved up to third place in the table, while Liverpool slipped to 10th.