In the playoffs, Aston Villa have earned themselves a fourth-place finish thanks to a 1-1 home draw with Derby County, who remain two points clear of seventh-placed Preston North End with just one game to go.
The Lilywhites remain in the promotion picture after Alex Browne's second-half strike earned his side a 1-0 win away at Sheffield United, a result which in turn killed off the Blades' own playoff hopes.
Burton Albion gave their hopes of survival a huge boost in a 2-0 win over Bolton Wanderers, edging the Brewers to two points of safety ahead of their final-day fixture at Preston while putting the Trotters into 23rd place.
Elsewhere, Norwich City claimed a 2-1 win over Leeds United, Queens Park Rangers won 3-1 at Birmingham City, Reading fell to a 4-0 defeat at home to Ipswich Town, and champions Wolves played out a goalless draw with Sheffield Wednesday.
Results in full: Aston Villa 1-1 Derby County, Barnsley 2-0 Brentford, Burton Albion 2-0 Bolton Wanderers, Hull City 0-2 Cardiff City, Norwich City 2-1 Leeds United, Nottingham Forest 0-0 Bristol City, Queens Park Rangers 3-1 Birmingham City, Reading 0-4 Ipswich Town, Sheffield United 0-1 Preston North End, Wolverhampton Wanderers 0-0 Sheffield Wednesday