Sheffield United survived a first-half scare to breeze past Leyton Orient 4-1 in their FA Cup third-round tie at Brisbane Road.
JJ Melligan gave Orient a shock lead from the spot after 38 minutes before United hit back through Greg Halford and Billy Sharp. Kyle Naughton's second senior goal put the Blades 3-1 up before Halford sealed the win with a header 12 minutes from the end.
United will face Charlton in the next round after Darren Ambrose's goal helped them beat Norwich 1-0 at Carrow Road to register their first win in 19 matches.
Swansea will play Portsmouth in the next round after they ran out 2-1 winners at Bridge Road despite a spirited effort from non-league Histon. The Swans broke the deadlock with a 25-yard screamer from Gorka Pintado before Guillem Bauza added a second.
The Blue Square Premier side sensed a way back in to the game when they pulled one back through Josh Simpson but could not find an equaliser.
Millwall set up a fourth-round tie with either Newcastle or Hull as they beat Crewe 3-2 at Gresty Road.
Crewe took the lead through Luke Murphy but were immediately pegged back by a Scott Barron strike before Neil Harris restored the visitors' lead - and broke Teddy Sheringham's club scoring record. Shaun Miller levelled with a right-foot strike shortly afterwards before Zak Whitbread's header put the Dons through with four minutes left.
Cheltenham and Doncaster will replay after playing out a goalless draw at Whaddon Road.
Jay Rodriguez struck in the last minute of extra-time to give Burnley a 2-1 win over Championship counterparts QPR at Turf Moor.
The sides went into the additional period after Steven Thompson had cancelled out Samuel di Carmine's opener for QPR 15 minutes into the second half. The match looked set for penalties before Damion Stewart's mistake allowed Rodriguez to score the winner to set up a fourth-round tie with Premier League side West Brom.
Copyright (c) PA Sport 2009, All Rights Reserved.