Division One round-up
By Mark Buckingham
Last Updated: 01/01/70 1:00am
Former Wales international Roberts struck in the 59th minute at Carrow Road to keep Norwich at the summit after the win over third-placed Sheffield United.
West Brom remain firmly on The Canaries' heels after Horsfield delivered the decisive contribution at home to Watford.
Horsfield opened the scoring four minutes before half time before Lee Hughes made it two on the hour mark.
Former Birmingham striker Horsfield netted again five minutes later, only for Scott Fitzgerald to nab a consolation. Watford's faint hopes of a comeback were extinguished by the late sending off of Heidar Helguson.
Ipswich lost ground on the automatic promotion spots after being held at Coventry. Stephen Warnock put the hosts ahead on the stroke of half time but Ian Westlake earned a point for the visitors.
West Ham continued their quest for a play-off spot with a gritty 2-1 success over Rotherham. Christian Dailly scored the winner after Tomas Repka's own goal had cancelled out Brian Deane's opener for The Hammers.
Shaun Goater poached a brace as Reading convincingly beat struggling Derby at The Madejski Stadium. The Bermudan netted after just two minutes and scored again in the second half, after Steve Sidwell had made it two. Michael Johnson bagged a consolation for the visitors.
In-form Stoke City continued their fine current run with victory over Walsall despite twice surrendering the lead at home.
Darel Russell and Carl Asaba had their respective strikes cancelled out by Jorge Leitao and Kris Taylor but Asaba stole the points with a 56th minute winner.
Danny Dichio's double was enough for Millwall to beat Crewe at Gresty Road with Andy Roberts' own goal keeping the scoreline close.
Crystal Palace beat former tenants Wimbledon 3-1 at Selhurst Park. Andrew Johnson opened the scoring but Joel McAnuff levelled the scores just after half time. Danny Granville quickly put the hosts back in front before Johnson wrapped up the win in the closing moments.
Patrick Agyemang heaped more misery on Bradford, who had Alan Combe sent off, in their narrow defeat at Gillingham.
Cardiff against Nottingham Forest, and Wigan Athletic at home to North West rivals Burnley both finished scoreless while Sunderland's game against Preston was postponed due to a waterlogged pitch.
Click below for an individual match summary:
Cardiff 0-0 Nottm Forest
Coventry 1-1 Ipswich
Crewe 1-2 Millwall
Crystal Palace 3-1 Wimbledon
Gillingham 1-0 Bradford
Norwich 1-0 Sheff Utd
Reading 3-1 Derby
Stoke 3-2 Walsall
Sunderland PPD Preston
West Brom 3-1 Watford
West Ham 2-1 Rotherham
Wigan 0-0 Burnley