Aston Villa thumped at Cardiff as Nottingham Forest win again
Nathaniel Mendez-Laing scored a brace as Cardiff made it two wins from two with a 3-0 home victory over a shell-shocked Aston Villa.
Cardiff, who opened their campaign by beating Burton last weekend, took the lead when Mendez-Laing rose to head home Junior Hoilett's cross midway through the first half.
Hoilett turned goalscorer on the hour mark with a close-range header before Mendez-Laing cut in from the left in the 71st minute and finished to leave Villa well beaten.
Nottingham Forest joined the Welsh club on six points but were pushed all the way in a 4-3 win at Brentford.
John Egan's header gave the Bees a deserved lead but two brilliant strikes from Andreas Bouchalakis, either side of Daryl Murphy's tap-in, put Forest into the ascendancy just after the restart.
Andreas Bjelland narrowed the deficit, but Kieran Dowell restored Forest's two-goal cushion before Neal Maupay set up a tense finale.
An Abel Hernandez's hat trick inspired Hull to a 4-1 victory over 10-man Burton, for who Jackson Irvine went from hero to villain.
Brewers midfielder Irvine cancelled out Hernandez's opener just after the half-hour mark but was given his marching orders moments later.
Kamil Grosicki put the Tigers back in front shortly after the restart and Hernandez scored twice more to lift the hosts to a comfortable win.
Middlesbrough claimed their first win of the season after edging to a 1-0 victory over Sheffield United, who were denied a stoppage-time leveller by a controversial disallowed goal.
With Boro leading through Rudy Gestede's first-half strike, the Blades thought they had clinched a share of the spoils deep into time added-on when Jack O'Connell bundled into the net.
But the assistant referee's flag saw the goal chalked off as Boro held on.
Fulham had Tomas Kalas dismissed after 39 seconds but still left Reading with a 1-1 draw.
Kalas was sent off after hauling down Modou Barrow and it seemed the Royals would capitalise when they went ahead through Liam Kelly, only for but Lucas Piazon's late goal to grab a point.
Goals from Craig Gardner and Jacques Maghoma lifted 10-man Birmingham to a 2-1 win over Bristol City, who had gone ahead in the opening minute through Bobby Reid.
Second-half substitute Maikel Kieftenbeld was sent off in the closing stages but the Blues managed to hold on.
Strikes from Barry Douglas and Ivan Cavaleiro saw Wolves maintain their 100 percent start to the season as they eased to a 2-0 win at Derby.
Ipswich are also on six points after goals from substitutes David McGoldrick and Martyn Waghorn helped them edge out Barnsley, beaten 2-1 despite taking the lead through Tom Bradshaw.
Millwall and Bolton each claimed their first point of the season after a 1-1 draw at The Den, as George Saville's opener for the Lions was cancelled out on the hour by a Filipe Morais free kick.
It was also 1-1 at Hillsborough as substitute Sam Winnall's strike gave Sheffield Wednesday a share of the spoils after Jamie Mackie had put QPR ahead.
Leeds drew a blank against 10-man Preston, who had Ben Pearson sent off with 30 minutes remaining but escaped Elland Road with a goalless draw.