Liverpool stay top of the Premiership after a Michael Owen goal earned the Merseysiders maximum points at Derby. For the second week in-a-row Derby's Fabrizio Ravanelli missed a penalty.
Arsenal kept up the pressure on Liverpool after beating Ipwich away thanks to goals by Freddie Ljungberg and a Thierry Henry penalty.
Earlier in the day, Chelsea routed Manchester Utd at Old Trafford by 3-0 and after this defeat - their fifth in the league - manager Alex Ferguson has all but conceded this year's Premiership.
The other surprise result of the day came when Leicester beat Aston Villa thanks to goals by Akinbiyi and Scowcroft. Aston Villa had David Ginola sent off for violent conduct.
Alen Boksic of Middlesbrough earned his side the points away at Blackburn while a late Kevin Phillips gave Sunderland the win at the Riverside Stadium against struggling West Ham.
Newcastle drew at Charlton where Speed opened the scoring for the visitors before MacDonald equalised. Former England striker Alan Shearer got sent-off three minutes from the end.
Full-time:
Aston Villa 0, Leicester 2
Blackburn 0, Middlesbrough 1
Charlton 1, Newcastle 1
Derby 0, Liverpool 1
Ipswich 0, Arsenal 2
Manchester Utd 0, Chelsea 3
Sunderland 1, West Ham 0