Match ends, Doncaster Rovers 0, Shrewsbury Town 1.
Shaun Whalley scored a freak second-half winner straight from a corner to stretch Shrewsbury's unbeaten League One run to five games at Doncaster.
Rovers were by far the better side in the first half but could not make their pressure count as they failed to score for the third time in four games.
They were made to pay on 63 minutes when Town wide man Whalley's inswinging corner flew in at the near post.
His second goal in successive games leaves Rovers without a win in 10.
Visiting keeper Jayson Leutwiler was Shrewsbury's star man with a string of saves, capped by a magnificent effort to tip away Cameron Stewart's injury-time free-kick. And, when he was beaten, Andy Butler had a header cleared off the line by Ian Black.
Shrewsbury Town boss Micky Mellon told BBC Radio Shropshire:
"It's a massive victory. The questions the lads have been asked were answered with three points.
"It's a vitally important goal. This is what you get at this time of the season and it's always good to get clean sheets.
"I am delighted with our performance. We needed the energy and enthusiasm of the whole squad to get a result. We had desire and commitment."
Line-ups
Doncaster
Formation 4-4-1-1
- 12Stuckmann
- 2Lund
- 38Alcock
- 6Butler
- 20Taylor-SinclairSubstituted forEvinaat 76'minutes
- 10Gooch
- 4McCullough
- 22Grant
- 37CalderSubstituted forStewartat 84'minutes
- 21MandevilleSubstituted forWilliamsat 61'minutes
- 14Tyson
Substitutes
- 3Evina
- 11Williams
- 17Mackenzie
- 18Keegan
- 27Stewart
- 29Middleton
- 40Jones
Shrewsbury
Formation 4-3-3
- 1LeutwilerBooked at 90mins
- 15Grimmer
- 4WhitbreadSubstituted forSmithat 27'minutes
- 20Knight-PercivalBooked at 19mins
- 12BrownBooked at 57mins
- 22Clark
- 17Ogogo
- 6BlackSubstituted forWellensat 75'minutes
- 19ManganSubstituted forKaikaiat 64'minutes
- 10Whalley
- 7Vassell
Substitutes
- 8Wellens
- 11Kaikai
- 16Vernon
- 21Halstead
- 26Akpa-Akpro
- 29Cole
- 31Smith
- Referee:
- Phil Gibbs
- Attendance:
- 5,878
Match Stats
- Possession
- Home59%
- Away41%
- Shots
- Home15
- Away6
- Shots on Target
- Home10
- Away2
- Corners
- Home12
- Away8
- Fouls
- Home7
- Away11
Live Text
Post update
Full Time
Second Half ends, Doncaster Rovers 0, Shrewsbury Town 1.
Booking
Jayson Leutwiler (Shrewsbury Town) is shown the yellow card.
Post update
Corner, Doncaster Rovers. Conceded by Richard Wellens.
Post update
Corner, Shrewsbury Town.
Post update
Corner, Doncaster Rovers. Conceded by Jayson Leutwiler.
Post update
Attempt saved. Cameron Stewart (Doncaster Rovers) right footed shot from outside the box is saved in the top right corner.
Post update
Cameron Stewart (Doncaster Rovers) wins a free kick in the defensive half.
Post update
Foul by Richard Wellens (Shrewsbury Town).
Post update
Attempt missed. Nathaniel Knight-Percival (Shrewsbury Town) header from very close range is close, but misses to the right following a corner.
Post update
Corner, Shrewsbury Town. Conceded by Cedric Evina.
Substitution
Substitution, Doncaster Rovers. Cameron Stewart replaces Riccardo Calder.
Post update
Foul by Andy Williams (Doncaster Rovers).
Post update
Dominic Smith (Shrewsbury Town) wins a free kick on the right wing.
Post update
Attempt saved. Riccardo Calder (Doncaster Rovers) right footed shot from outside the box is saved in the centre of the goal.
Post update
Attempt missed. Andy Williams (Doncaster Rovers) header from very close range is just a bit too high following a corner.
Post update
Corner, Doncaster Rovers. Conceded by Junior Brown.
Post update
Corner, Shrewsbury Town. Conceded by Craig Alcock.
Substitution
Substitution, Doncaster Rovers. Cedric Evina replaces Aaron Taylor-Sinclair.
Substitution
Substitution, Shrewsbury Town. Richard Wellens replaces Ian Black.