Charles N'Zogbia's introduction at half-time turned around one of the day's all-Barclays Premier League ties as Wigan Athletic beat Hull City 4-1 in the third round of the FA Cup. Geovanni's free-kick gave Hull the lead, but the Wigan winger struck either side of setting up James McCarthy for the second, and Scott Sinclair rounded off the win as the seconds ticked down.
Crisis club Portsmouth were taken to a replay by Coca-Cola Championship side Coventry City. Things went from bad to worse for financially-stricken Pompey on the half-hour as David Bell lashed the Sky Blues ahead. But Tommy Smith's cross enabled Kevin-Prince Boateng to head his side level in first-half stoppage time.
Birmingham City were fortunate to draw 0-0 at Nottingham Forest, for whom Luke Chambers headed against the crossbar and Robert Earnshaw missed a penalty.
Diouf sent off
Nathan Delfouneso and Carlos Cuellar put Aston Villa 2-0 up against Blackburn Rovers either side of David Dunn's penalty miss. Rovers had El-Hadji Diouf sent off before Nikola Kalinic pulled a goal back, but John Carew's late penalty made it 3-1.
Everton were made to battle hard for their progress to the FA Cup fourth round as two late goals pushed them past League One Carlisle. James Vaughan gave the Toffees a 12th-minute lead, but Adam Clayton's strike went in off team-mate Kevan Hurst to level matters.
Vaughan had a second ruled out for offside, but Tim Cahill grabbed a crucial close-range strike and Leighton Baines made the game safe from the spot late on. Bobby Zamora's 15th-minute strike earned Fulham a 1-0 win over Swindon Town, as goalkeeper David Lucas saved a penalty from Andy Johnson.
City slip past Boro
Benjani Mwaruwari put Manchester City in front at Middlesbrough and it proved enough for Roberto Mancini's side in a 1-0 win. Burnley beat Coca-Cola League One Milton Keynes Dons 2-1, Graham Alexander's penalty and Steven Fletcher's goal proving sufficient despite Dean Morgan's late strike.
Sunderland sank Barrow 3-0 after Steed Malbranque grabbed the opener and Fraizer Campbell twice headed home in the second half. Managerless Bolton Wanderers defeated Lincoln 4-0. They took the lead through Moses Swaibu's own goal, Chung-Yong Lee making it 2-0 within two minutes before Gary Cahill and Mark Davies rounded off the scoring.
Seven for Preston
Preston were the day's big scorers as Jon Parkin's hat-trick took them past Colchester 7-0. Ipswich beat nine-man Blackpool 2-1, Brett Ormerod cancelling out Jack Colback's opener before Ian Evatt and Rob Edwards were sent off and Owen Garvan curled home a winner.
Leicester came from behind to beat Swansea 2-1 with Dany N'Guessan bagging the 89th-minute winner. Crystal Palace won 2-1 at Sheffield Wednesday, Neil Danns and Calvin Andrew scoring either side of Clint Hill's own goal.
Graeme Dorrans and substitute Chris Wood earned West Bromwich Albion a 2-0 win over Huddersfield and Paul Hayes scored Scunthorpe's winner against his former club Barnsley. Millwall and Derby will replay after Kris Commons' volley quickly cancelled out Lewis Grabban's opener, while Plymouth and Newcastle United shared a goalless draw.
Rickie Lambert's 36th-minute free-kick pushed Southampton past Blue Square Premier Luton, while Brighton beat Torquay 1-0 thanks to Andrew Crofts' header.
The matches between Accrington and Gillingham; Brentford and Doncaster; and Bristol City and Cardiff were postponed due to the freezing conditions.
The weather also meant York arrived late at Stoke City, with the kick-off delayed by half an hour, but the Blue Square Premier side took the lead through Neil Barrett. However, Daniel Parslow's own goal and Ricardo Fuller put Stoke 2-1 up immediately and Matthew Etherington added a fine free-kick to seal a 3-1 win.