TOWN: Joe Anyon, Jermaine Grandison, Dave McAllister (Aaron Wildig, 67), Sam Foley (Shaun Miller, 67) Jon Taylor, Tamika Mkandawire (c), Paul Parry, Connor Goldson, Tom Eaves (Bahrudin Atajic 76), Joseph Mills, Asa Hall
Subs not used: Chris Weale, Joe Jacobson, Dave Winfield, Ryan Woods
Bradford City: Jon McLaughlin, Stephen Darby (c), Matthew Dolan, Andrew Davies, Adam Drury, James Hanson, Aaron Mclean, Rory McArdle, Nathan Doyle, Adam Reach, Kyle Bennett
Subs: Andy Gray, Garry Thompson, Arron Jameson, Karl McHugh, Gary Jones, Raffael De Vita, Matthew Bates
BOOKINGS: Eaves (42) foul
Dolan (63) foul
ATT: 5181 (656)
Referee – Darren Sheldrake
FULL TIME: SHREWSBURY 2 BRADFORD CITY 1
Shrewsbury Town kept their hopes of League One survival intact with a dramatic late victory against Bradford, as debutant Shaun Miller struck four minutes into second half stoppage time to clinch three huge points.
With time almost up, Miller's outstanding overhead kick from close range won the game and it leaves Shrewsbury two points off safety with a crucial match against relegation rivals Carlisle United at Brunton Park on Tuesday.
It looked, with 11 minutes to go as though Shrewsbury were going to slip to a damaging defeat when Andrew Davies gave Bradford the lead only for Jon Taylor to level the score 60 seconds later.
It set up an exciting finale and Miller, who signed only 24 hours earlier on loan from Sheffield United, made himself an instant hero with almost the last kick of the game.
It was also a first home win for Town since beating Notts County in November - 119 days ago - and it brought joyous scenes of celebration at the final whistle from players, coaching staff and fans.
Mike Jackson made a couple of changes from the Colchester defeat with Taylor and Dave McAllister in for Joe Jacobson and Ryan Woods, who was carrying a knock, dropped to bench. The substitutes included fit-again Aaron Wildig and new signing Miller. Bradford included former Town loanee Adam Reach.
The first 15 minutes were a scrappy affair, played in a spring sunshine but a blustery wind and it was Bradford who created the first real chance. A curling cross from the right was chested down by Aaron McLean but James Hanson could only drag an effort from just inside the box wide of Joe Anyon's left hand post.
At the other end, Tom Eaves headed wide from a Paul Parry hanging centre, but the Bolton loanee was always stretching and couldn't direct his effort on target. Jermaine Grandison, who also entertained the crowd with his trademark step-overs, then sent a header towards goal from a Taylor corner, but 'keeper Jon McLaughlin made a comfortable save. The defender then came within inches of connecting with another wicked, whipped ball in from Taylor as Jackson's side started to click going forward.
Town continued to boss the match, looking more threatening going forward and inside 60 seconds had two sights of goal. First a Connor Goldson header was cleared off the line by skipper Stephen Darby, and Sam Foley warmed the gloves of McLaughlin with a stinging 20 yard drive but the 'keeper was equal to it.
Despite Town's dominance, Bradford looked dangerous on the counter-attack and nearly opened the scoring in the 25th minute, when another neat chest-down, this time by Hanson who found McLean, but his snapshot volley was pushed away well by Anyon.
That was a rare City attack though, and at the other end, this time it was McLaughlin who was forced into action when Asa Hall saw his well struck shot from 20 yards well parried and the visitors were able to hack the ball to safety.
Bradford made a change late in the half when Nathan Doyle went off injured, and the experienced Gary Jones came on as his replacement.
Town were fortunate 90 seconds into the restart when Hanson connected with a Kyle Bennett cross but the City striker could only send his shot at Anyon, who made the save, when really he should have found the net.
But that effort only served to spark Shrewsbury into life, and they had loud shouts for a penalty when Taylor tangled with Davies in the area, but referee Darren Sheldrake waved away home protests - Shrewsbury still haven't had a spot-kick this season.
Then Goldson, such a threat from set-pieces in recent weeks, saw a glancing header from a Parry corner sail narrowly over the bar, as Town tried to force the opening goal.
Just past the hour mark, Jackson made a double change, and it was new signing Miller introduced, with the former Crewe striker replacing Foley.
There was also a welcome return for Wildig, after a long injury lay-off, who came on for the injured McAllister who hobbled off the field.
By this time though, Shrewsbury had lost their way as an attacking force with the Bradford backline looking comfortable. Town needed more invention and creativity in the final third. And with 15 minutes remaining, Celtic loanee Bahrudin Atajic was introduced to the action as Jackson went for broke with Eaves withdrawn.
Bradford were arguably having their best spell of the game and nearly broke the deadlock on 77 when Reach saw a deflected shot blaze over when well placed.
A flurry of corners followed and with 12 minutes to play, Davies forced the ball in to stun the Greenhous Meadow into silence.
Dolan delivered a cross and Davies bundled home in front of 656 travelling fans.
Those cheers soon turned to agony though when Shrewsbury equalised 60 seconds later. A swift break forward involving Grandison and Atajic, found Taylor who fired the ball in low and hard for his 7th goal of the season.
Then, as the rain started to fall, home fans in the Salop Leisure Stand once again appealed to the referee for a penalty - this time for handball - but Mr Sheldrake kept his hands firmly down by his side.
In stoppage time, Town nearly nabbed a late winner but a combination of Goldson and Miller couldn't force the ball in at the back post from a corner.
But that frustration soon turned to celebration when Miller had the stunning final word, acrobatically turning the ball in from Parry's cross, to give Shrewsbury real belief going into the final eight games.