Bristol City upset Premier League Watford to reach the third round of the Carabao Cup with a 3-2 victory at Vicarage Road.
Etienne Capoue sparked a dramatic second half when he fired the Hornets ahead after 47 minutes.
But teenager Freddie Hinds (59) levelled for the Sky Bet Championship side before Bobby Reid (67) grabbed his fifth goal of the season.
Watford were reduced to 10 men when Jose Holebas was sent off two minutes from time, and Niclas Eliasson added a third for City to make Adrian Mariappa’s last-gasp effort irrelevant.
The Robins’ city rivals Bristol Rovers also sprang a surprise by winning 1-0 away to Championship side Fulham, Ellis Harrison scoring the 13th-minute winner.
Leicester comfortably avoided an upset with a 4-1 victory at Sheffield United.
All the goals came in the second half with Demarai Gray producing a fine individual goal before Algeria striker Islam Slimani bagged a brace.
Colin Lavery pulled one back for the Blades, but Ahmed Musa had the final word in stoppage time.
Swansea eased through 4-1 at MK Dons, despite falling behind to Ryan Seager’s 17th-minute opener.
Leroy Fer levelled within two minutes and the Dutchman scored a second header on the hour mark.
On-loan Chelsea youngster Tammy Abraham claimed his first Swansea goal before Jordan Ayew wrapped up victory four minutes from time.
West Brom also had a comfortable passage at Accrington, with Salomon Rondon, Matt Phillips and Jay Rodriguez on target in a 3-1 win, Tom Dallison replying late on.
Crystal Palace scored their first goals under new manager Frank de Boer to beat Ipswich 2-1.
James McArthur struck twice, after 76 and 84 minutes, before Bersant Celina grabbed an injury-time consolation for Ipswich.
Bournemouth fought back to win 2-1 at Birmingham after Maikel Kieftenbeld had given Harry Redknapp’s side an 11th-minute lead. Ryan Fraser (46) and Marc Pugh (68) turned it around for the Cherries.
James Tilley scored the 53rd-minute winner as Brighton beat Barnet 1-0.
Leeds might have feared a shock after falling behind to Newport through Joss Labadie’s long-range strike.
But Kemar Roofe bagged a hat-trick and Samu Saiz and Ronaldo Viera were also on target in a 5-1 win.
Doncaster beat weakened Hull visitors 2-0, with Alfie May and Tommy Rowe scoring within nine minutes of the re-start.
Burton avenged their defeat to Cardiff on the opening day of the Championship season with a 2-1 away win.
Tom Naylor (26) and Ben Fox (70) put the Brewers ahead before substitute Anthony Pilkington (76) replied for the Championship leaders.
Middlesbrough saw off Scunthorpe 3-0 as Fabio, Lewis Baker and Ashley Fletcher all scored their first goals for the club.
Aston Villa overcame Wigan 4-1, with Albert Adomah and Birkir Bjarnason adding to a Scott Hogan double and Ryan Colclough scoring for the Latics.
Norwich and Brentford won by the same margin, with the Canaries battling back from Lee Novak’s early Charlton goal.
Josh Murphy scored either side of half-time before Marley Watkins and Tom Trybull wrapped up victory.
Brentford were 3-0 up away to neighbours QPR in 32 minutes through an Ariel Borysiuk own goal and efforts from John Egan and Neil Maupay.
Darnell Furlong cut the deficit close to half-time, but Joshua Clarke added a fourth for the Bees.
Lynden Gooch scored Sunderland’s late winner in a 2-1 victory at Carlisle.
Donald Love had earlier given the Black Cats the lead before Danny Grainger equalised after Robbin Ruiter had saved his penalty.
Bolton survived a late Sheffield Wednesday revival to beat their Championship rivals 3-2.
Dorian Dervite, Adam Armstrong (pen) and Jem Karacan put Bolton in cruise control but Jordan Rhodes’ double had the Trotters hanging on at the end.
Bolton manager Phil Parkinson and Wednesday boss Carlos Carvalhal were both sent off near the end following a touchline altercation.
Reading needed extra time to overcome Millwall 3-1 after Shane Ferguson had cancelled out Leandro Bacuna’s effort.
George Evans put the Royals ahead at the end of the first extra period and Sam Smith clinched matters four minutes from time.
Matej Vydra’s second-half penalty saw Derby home 1-0 in their rescheduled first-round tie at Grimsby.
The Mariners were reduced to 10 men when Ben Davies was sent off for a second bookable offence after 63 minutes.