Sky Bet League 1
Bradford City 1 (Stead 45+4)
Doncaster Rovers 2 (Wabara 59, Main 69)
Kick Off: 3.00pm
at the Coral Windows Stadium
Attendance: 13,348 (911 visitors)
The Bantams fell to another defeat on home soil at the Coral Windows Stadium this season - but they were left scratching their heads as to how.
City deservedly led at half-time thanks to Jon Stead's first goal since his return to the club but a Doncaster double from Reece Wabara and Curtis Main within ten second half minutes saw the visitors hit the Bantams with a one-two sucker-punch.
Stead's opener for City came in injury time at the end of the first period after the Bantams had become increasingly dominant as the opening half progressed.
Stead had earlier seen a drive flash just wide of Sam Johnstone's far post, while the Doncaster shot-stopper also had to produce a fine save to stop a header by his own defender Luke McCullough from finding the corner of his own goal.
In the middle of seven minutes of first half stoppage time - caused mainly by a nasty injury to Doncaster defender Cedric Evina - City did get the goal their play had warranted, when a purposeful run from Yeates ended with Stead turning into space before firing hard past Johnstone from just inside the box.
There was still time for City to nearly grab a second before the break but some great goalkeeping from Johnstone denied Billy Knott, Alan Sheehan and Yeates as Doncaster struggled to clear a late Bantams corner.
After climbing off the ropes at half-time, Doncaster served notice of their intentions for the second period when McCullough headed narrowly wide from a wide Kyle Bennett free-kick delivery.
Despite McCullough's near-miss though, City could probably still count themselves unlucky to be pegged back when Rovers did equalise just before the hour.
Substitute Liam Wakefield's cross into the area was a testing one and fellow full back Reece Wabara stole in to connect with the ball and drive home past Jordan Pickford from close range by the far post.
Worse was to come for City ten minutes later when Sheehan couldn't quite clear a clipped ball forward by Richie Wellens and Main punished the defender's lack of conviction with a fierce drive past Pickford from around the edge of the area.
Having looked good value for their lead for so long, City suddenly found themselves behind with time running down.
City's best chance of snatching something from the game fell to Sheehan but his goal-bound header from a Yeates corner nine minutes from the end struck an unfortunate Clarke before bouncing away for a goal-kick.
FT: Bradford City 1 Doncaster Rovers 2
90+3min: SUB - The Bantams bring on Oliver McBurnie for Knott.
90min: There will be five minutes of time added on at the end of the game.
88min: YELLOW CARD - Davies is booked for a late foul roughly midway into City's half as Doncaster look to see out the game now.
87min: Morais' cross into the area is flicked on by Knott into the path of Meredith but the defender's diving header lacks the power needed and Johnstone can comfortably cling on.
82min: SUB - Doncaster bring on Theo Robinson for Main.
81min: From the resulting Yeates corner, Sheehan heads for goal but the powerful goal-bound effort hits one of his own players before deflecting out for a goal-kick.
80min: Stephen Darby's hanging cross into the area is headed down by Hanson but Wakefield kicks the ball behind for a corner before a lurking Clarke can look to pounce from only yards out.
79min: SUB - The Bantams bring on Matthew Dolan for Halliday.
72min: YELLOW CARD - Keegan is booked for catching Knott late as the midfielder knocked the ball away from his path midway into Doncaster's half of the pitch.
69min: GOAL - Bradford City 1 Doncaster Rovers 2 - Doncaster hit City with a sucker-punch to take a barely deserved lead. Sheehan seems to get his feet in a tangle as he tries to clear an attempted through ball from Wellens, giving Main a pocket of space to work with and the striker finishes with great aplomb via a fierce strike from the edge of the box.
67min: Moving infield from a wide left position, Yeates sees a swerving angled strike from outside the area pushed away by Johnstone.
66min: Yeates is twice denied as he tries to engineer a shot on goal and City have another handball penalty shout turned down as Doncaster eventually clear their lines following a scramble inside their area.
63min: YELLOW CARD - Wellens is booked for needlessly pushing over Meredith after a foul had been given in favour of the Australian left back just inside City's half of the pitch.
62min: Morais strikes for goal from outside the area but his low left-footed drive rolls into the clutches of Johnstone.
61min: Forrester moves into a pocket of space behind City's defence after latching onto a ball over the top but his drive from just inside the box flashes wide of Pickford's near post.
59min: GOAL - Bradford City 1 Doncaster Rovers 1 - Doncaster are level through Wabara just before the hour mark. Wakefield's cross towards the far post is bundled home from close range by Wabara.
58min: SUB - The Bantams bring on Billy Clarke for Stead.
57min: SUB - Doncaster bring on Harry Forrester for Bennett.
51min: Bennett's delivery into the box from a wide free-kick is headed narrowly wide of goal by McCullough.
46min: The Bantams restart the match.
HT: Bradford City 1 Doncaster Rovers 0
45+6min: City nearly double their lead! A Yeates corner finds Knott deep inside the box but the midfielder's flick for goal is pushed away by a great reaction save from Johnstone. Sheehan has another effort on goal from the rebound, which Johnstone repels as well. With the danger not over, however, as Yeates drives across goal with purpose and the ball strikes Davies and then Butler before going out for another corner.
45+4min: GOAL!!!!!!! Bradford City 1 Doncaster Rovers 0 - Stead has the Bantams in the lead! A purposeful run from Yeates sees the Irishman play the ball into the feet of Stead and the striker turns into space before drilling a left-foot drive from just inside the area past Johnstone's despairing dive.
45+1min: Knott tries his luck from just outside the box but his curling effort sails over the bar.
45min: There will be seven minutes of time added on at the end of the first half, mainly due to Evina's unfortunate injury.
44min: Oh! Nearly an own goal there for Doncaster! Yeates' inswinging cross is met on the stretch by McCullough and the defender's attempted cleared header actually goes towards goal, requiring Johnstone is produce a fine diving save to push the effort around the post.
41min: SUB - Doncaster bring on Liam Wakefield for Evina. Unfortunately for the Doncaster left back, he has been forced to be replaced after being stretchered off with a leg injury following a fierce, but fair, challenge from Morais. Play was suspended for around six minutes while Evina was treated before being stretchered off.
34min: Stead goes so close! The striker flicks the ball away from the attentions of Reece Wabara inside the box but his low left-footed strike across goal rolls narrowly wide of Johnstone's far post.
33min: Luke McCullough appears to have two arms around Stead's waist as the striker attempts to chase down a lofted ball into the box. Again, City's bench appeal for a spot-kick but nothing is given.
31min: Wellens tries a snap-shot on the volley from a few yards outside the area but his effort bounces comfortably wide of Pickford's near post.
26min: Evina's teasing cross into the six yard box is met by Andrew Davies but with the defender under pressure from Tyson, Davies can only slice his attempted clearance narrowly wide of Pickford's far post and out for a corner.
25min: Sheehan fires a free-kick from just outside the area a good yard or so over the bar.
24min: A Yeates shot from just outside the box seems to hit Evina's arm as the defender is positioned inside the area. With the left back's arm down by his side though, referee Mr Kevin Wright waves away any City penalty protests.
24min: Mark Yeates' delivery into the area from the free-kick that follows causes a moment of panic in the Doncaster box. With the visitors unable to clear their lines, Morais strikes for goal from inside the box. His first effort is saved by Johnstone before the Portuguese attacker's second attempt is blocked by Paul Keegan.
23min: YELLOW CARD - Cedric Evina is booked for Doncaster after the left back brought down Jon Stead midway in the visitors' half.
20min: Play is stopped briefly following a clash of heads between Alan Sheehan and Nathan Tyson after the pair contested a kick forward just inside City's half of the pitch. Both players are fine to continue shortly afterwards.
13min: Richie Wellens' low drive from outside the box is pushed out by Pickford and just away from the path of the on-rushing Kyle Bennett.
10min: Filipe Morais' low cross is deflected into the path of Hanson but the striker's drive across goal from an angle is held with relative ease by Johnstone.
3min: James Meredith's cross into the area is met by James Hanson, who shoots for goal with a first time strike on the bounce. Hanson's low left-footed effort from around fourteen yards out is well-struck but Sam Johnstone gets down to his right push the effort around the post.
3min: James Coppinger's teasing low cross finds Curtis Main lurking by the near post but his downward header bounces comfortably into the grasp of Jordan Pickford.
0min: Doncaster Rovers kick off the match. City will attack towards the T.L Dallas Stand end in the first half.
BRADFORD CITY LINE UP:
Pickford, Darby, Davies, Sheehan, Meredith, Knott, Morais, Halliday, Yeates, Hanson, Stead
Subs: Williams, Dolan, Clarke, Kennedy, Routis, McBurnie, Mottley-Henry
Bradford City cautions:
Bradford City changes:
Clarke for Stead (58), Dolan for Halliday (79), McBurnie for Knott (90+3)
DONCASTER ROVERS LINE UP:
Johnstone, Wabara, McCullough, Butler, Evina, Coppinger, Keegan, Wellens, Bennett, Main, Tyson
Subs: Marosi, Furman, McCombe, Robinson, Forrester, Wakefield, de Val Fernandez
Doncaster Rovers cautions:
Evina (23), Wellens (63), Keegan (72)
Doncaster Rovers changes:
Wakefield for Evina (41), Forrester for Bennett (57), Robinson for Main (82)
Referee: K Wright
Assistant Referee: B Cropp
Assistant Referee: S Hudson
Fourth Official: M Corlett