Match ends, Bradford City 2, Shrewsbury Town 0.
Bradford maintained their unbeaten start to the season with victory over managerless Shrewsbury at Valley Parade to stay second in League One.
Nicky Law fired the hosts in front after 21 minutes, drilling home from 10 yards after a Filipe Morais shot had been blocked by Abu Ogogo.
It was the midfielder's first goal since joining the Bantams from Rangers in the summer and the ninth game in a row when Shrewsbury have conceded first.
Morais went close to a second in Bradford's next attack but some last-ditch defending from Jack Grimmer managed to deflect the ball over the crossbar.
Bradford were not so effective after the break and Shrewsbury had a strong penalty shout for handball against defender Stephen Darby.
Goalkeeping coach Danny Coyne, in temporary charge of Shrewsbury following manager Micky Mellon's resignation to join Tranmere, saw his team threaten more as the game went on.
But substitute Haris Vuckic secured Bradford's win with a stoppage-time penalty after Antoni Sarcevic brought down Daniel Devine.
Reports supplied by the Press Association.
- 7MarshallBooked at 61mins
- 20MoraisSubstituted forDevineat 67'minutes
- 10ClarkeSubstituted forVuckicat 88'minutes
- 11Hiwula-MayifuilaBooked at 62minsSubstituted forMcNultyat 79'minutes
- 14GrimmerBooked at 76mins
- 8OgogoBooked at 90mins
- 6BlackBooked at 30minsSubstituted forManganat 90+1'minutes
- 12BrownSubstituted forSadlerat 71'minutes
- 11O'BrienSubstituted forSarcevicat 45'minutes
- 9ToneyBooked at 51mins
- 22El Ouriachi
- Dean Whitestone
- Shots on Target
Second Half ends, Bradford City 2, Shrewsbury Town 0.
Goal! Bradford City 2, Shrewsbury Town 0. Haris Vuckic (Bradford City) converts the penalty with a left footed shot to the bottom right corner.
Penalty Bradford City. Daniel Devine draws a foul in the penalty area.
Penalty conceded by Adam El-Abd (Shrewsbury Town) after a foul in the penalty area.
Abu Ogogo (Shrewsbury Town) is shown the yellow card for a bad foul.
Mark Marshall (Bradford City) wins a free kick in the defensive half.
Foul by Abu Ogogo (Shrewsbury Town).
Attempt missed. George Waring (Shrewsbury Town) header from the centre of the box is just a bit too high.
Substitution, Shrewsbury Town. Andy Mangan replaces Ian Black.
Attempt blocked. George Waring (Shrewsbury Town) right footed shot from the centre of the box is blocked.
Foul by Daniel Devine (Bradford City).
Ian Black (Shrewsbury Town) wins a free kick in the attacking half.
Substitution, Bradford City. Haris Vuckic replaces Billy Clarke.
Corner, Bradford City. Conceded by Jack Grimmer.
Attempt blocked. James Meredith (Bradford City) right footed shot from the left side of the box is blocked.
Attempt missed. Billy Clarke (Bradford City) header from the centre of the box is just a bit too high.
Attempt blocked. Nicky Law (Bradford City) right footed shot from the left side of the box is blocked.
Corner, Bradford City. Conceded by Joe Riley.
Timothee Dieng (Bradford City) wins a free kick on the right wing.