Match ends, Bradford City 0, Bristol City 6.

League One leaders Bristol City thumped Bradford City to seal promotion to the Championship after a two-year absence.
The away side dominated from the start, with James Tavernier's toe-poke and Joe Bryan's far-post header putting them in command at the break.
Luke Ayling fired in from long range and Aden Flint nodded in as the Robins ran riot in the second half.
Tavernier's slotted finish and Aaron Wilbraham's strike completed a memorable evening.
Now 10 points clear of second-placed Preston North End, the Ashton Gate outfit need to win only one of their remaining three games to be certain of securing the League One title.
Under boss Steve Cotterill, the Robins have been in imperious form since the very start of the season, winning at fellow promotion contenders Sheffield United on the opening day and remaining unbeaten until mid-November.
Having lifted the Johnstone's Paint Trophy at Wembley last month, Bristol City's latest undefeated run in the league stretches 12 matches and leaves them strong favourites to complete a lower-league double.

This campaign also represents a remarkable turnaround for a club who, when Cotterill was appointed 16 months ago, were languishing in 23rd in the table and in danger of suffering successive relegations.
The former Cheltenham, Burnley and Portsmouth manager's summer recruitment has been key to their success, with the arrival of Luke Freeman from Stevenage as significant as any.
Already the division's leading assist maker, the 23-year-old was again the orchestrator as the visitors bossed the opening period, setting Tavernier clear for their first and crossing for Bryan to head in the second.
But, while Bristol City enjoyed the better of the first half, they produced an emphatic display of attacking football in the second to seal promotion in style.
Ayling's 25-yard strike sneaked in past goalkeeper Ben Williams for their third, before centre-half Flint headed his 11th of the campaign from Marlon Pack's free-kick.
Tavernier grabbed his second soon after, bundling in at the far post, and Wilbraham capitalised on a defensive mix-up to slot past Williams and send the Robins up with three games to spare.
Line-ups
Bradford
Formation 4-4-2
- 12Williams
- 2Darby
- 23McArdle
- 15Mackenzie
- 3Meredith
- 20MoraisSubstituted forMcMahonat 76'minutes
- 8Liddle
- 11KnottSubstituted forRoutisat 75'minutes
- 14YeatesSubstituted forSteadat 45'minutes
- 9Hanson
- 10Clarke
Substitutes
- 4Dolan
- 13Zoko
- 16Stead
- 18Routis
- 22Urwin
- 25Halliday
- 29McMahon
Bristol City
Formation 3-5-2
- 1Fielding
- 22Ayling
- 4Flint
- 3Williams
- 24Tavernier
- 7Smith
- 15FreemanSubstituted forSavilleat 79'minutesBooked at 85mins
- 21Pack
- 23BryanSubstituted forCunninghamat 76'minutes
- 19Agard
- 18WilbrahamSubstituted forEmmanuel-Thomasat 88'minutes
Substitutes
- 5Osborne
- 8Elliott
- 10Emmanuel-Thomas
- 11Wagstaff
- 12Saville
- 13Richards
- 17Cunningham
- Referee:
- Stuart Attwell
- Attendance:
- 12,609
Match Stats
- Possession
- Home40%
- Away60%
- Shots
- Home7
- Away14
- Shots on Target
- Home1
- Away9
- Corners
- Home3
- Away2
- Fouls
- Home8
- Away6
Live Text
Post update
Full Time
Second Half ends, Bradford City 0, Bristol City 6.
Post update
Christopher Routis (Bradford City) hits the left post with a right footed shot from outside the box.
Substitution
Substitution, Bristol City. Jay Emmanuel-Thomas replaces Aaron Wilbraham.
Post update
Foul by George Saville (Bristol City).
Post update
Jon Stead (Bradford City) wins a free kick in the attacking half.
Booking
George Saville (Bristol City) is shown the yellow card.
Post update
Foul by George Saville (Bristol City).
Post update
Gary Liddle (Bradford City) wins a free kick in the defensive half.
Post update
Attempt missed. George Saville (Bristol City) left footed shot from outside the box is too high.
Post update
Luke Ayling (Bristol City) wins a free kick in the defensive half.
Post update
Foul by James Hanson (Bradford City).
Substitution
Substitution, Bristol City. George Saville replaces Luke Freeman.
Goal!
Goal! Bradford City 0, Bristol City 6. Aaron Wilbraham (Bristol City) left footed shot from the centre of the box to the bottom right corner.
Substitution
Substitution, Bristol City. Greg Cunningham replaces Joe Bryan.
Substitution
Substitution, Bradford City. Tony McMahon replaces Filipe Morais.
Substitution
Substitution, Bradford City. Christopher Routis replaces Billy Knott.
Goal!
Goal! Bradford City 0, Bristol City 5. James Tavernier (Bristol City) left footed shot from the centre of the box to the bottom left corner.
Post update
Corner, Bristol City. Conceded by Gary Mackenzie.
Post update
Attempt saved. Kieran Agard (Bristol City) right footed shot from outside the box is saved in the top right corner.