Match ends, Coventry City 2, Bradford City 0.
Bradford were relegated to League Two following their away defeat by Coventry.
The loss, coupled with Rochdale's win over Wycombe and Scunthorpe's goalless draw with Blackpool later on Friday, means the Bantams are 10 points from safety with just nine points left to play for.
Bradford knew they needed a draw or a win to keep alive any realistic hopes of staying in League One, but a solid Coventry performance managed to keep the Yorkshire side at bay.
Bradford flew out of the blocks, creating a host of early chances, but it was Coventry who drew first blood after nine minutes thanks to a smart finish from Jordy Hiwula.
The former Huddersfield forward was given the ball just outside the box by Coventry captain Liam Kelly before jinking past two Bantams defenders and drilling into the bottom corner past the helpless Ben Wilson.
Bradford centre-back Nat Knight-Percival was then dismissed after being shown a second yellow card shortly before the break for kicking out at Coventry's Amadou Bakayoko.
Coventry were in complete control after the break - Wolves loanee Bright Enobakhare eventually made it 2-0 on the 88th minute as he slammed home after a perfectly weighted Kelly ball over the defence.
Bradford's dismal recent form has seen the side slip back into the fourth tier after six seasons in League One.
They have lost their past seven games and won just three in 2019, losing 12 and drawing three in that time.
Three managers have been at the helm this campaign, with summer appointment Michael Collins lasting just six games until he was sacked on 3 September.
Former Bradford midfielder David Hopkin replaced him, but he resigned on 25 February after seven wins in 35 games to be replaced by Gary Bowyer last month.
After the game Bowyer was critical of some of his experienced players who he said did "nowhere near enough" during the loss to Coventry.
'Bradford need clean slate' - analysis
BBC Radio Leeds' Bradford City commentator Tim Steere
For many Bradford fans, relegation has been inevitable for a while now. The first time it really hit home was the defeat at Walsall in February, when Bradford lost 3-2 against a side that had their top scorer sent off after just six minutes.
To lose that game from being 1-0 up was unacceptable and David Hopkin resigned soon after to give the club the best chance of staying in League One.
Despite a brief upturn in performances early on in Gary Bowyer's reign, old habits die hard and Bradford couldn't get out of the habit of losing. The squad simply wasn't good enough or strong enough.
It needs a clean slate and to start again from scratch, but the foundations to build on are a lot stronger now than last season.
With Bowyer committed to the club for two years, Julian Rhodes staying on as chief executive and owner Stefan Rupp continuing to help fund the Bantams, there are signs that the broken pieces of Bradford can be put back together to get them back into League One soon.
Selling over 13,000 season tickets shows the fans believe and that should help with enticing players to Valley Parade.
- 17SterlingBooked at 29mins
- 6KellyBooked at 21mins
- 26ShipleySubstituted forChaplinat 57'minutes
- 11Hiwula-MayifuilaSubstituted forPonticelliat 90+1'minutes
- 21BakayokoSubstituted forWestbrookeat 75'minutes
- 38CaddisSubstituted forDevineat 75'minutes
- 22Knight-PercivalBooked at 44mins
- 16ButterfieldSubstituted forAndersonat 71'minutes
- 39O'BrienBooked at 84mins
- 9DoyleSubstituted forMillerat 45'minutes
- Lee Swabey
- Shots on Target
Second Half ends, Coventry City 2, Bradford City 0.
Attempt missed. George Miller (Bradford City) right footed shot from the centre of the box is close, but misses to the right.
Attempt missed. Sam McCallum (Coventry City) left footed shot from a difficult angle on the left misses to the right.
Substitution, Coventry City. Jordan Ponticelli replaces Jordy Hiwula-Mayifuila.
Goal! Coventry City 2, Bradford City 0. Bright Enobakhare (Coventry City) left footed shot from the centre of the box to the bottom right corner. Assisted by Liam Kelly.
Liam Kelly (Coventry City) wins a free kick in the attacking half.
Foul by George Miller (Bradford City).
Attempt missed. Conor Chaplin (Coventry City) left footed shot from the centre of the box is too high.
Attempt blocked. Dominic Hyam (Coventry City) right footed shot from the centre of the box is blocked.
Corner, Coventry City. Conceded by Paudie O'Connor.
Lewis O'Brien (Bradford City) is shown the yellow card for a bad foul.
Dujon Sterling (Coventry City) wins a free kick on the right wing.
Foul by Lewis O'Brien (Bradford City).
Dujon Sterling (Coventry City) wins a free kick in the defensive half.
Foul by Connor Wood (Bradford City).
Attempt blocked. Bright Enobakhare (Coventry City) right footed shot from the centre of the box is blocked.
Substitution, Coventry City. Zain Westbrooke replaces Amadou Bakayoko.
Substitution, Bradford City. Daniel Devine replaces Paul Caddis.
Delay over. They are ready to continue.