Match ends, Crewe Alexandra 1, Shrewsbury Town 2.
Shaun Whalley fired home a superb last-minute goal from 20 yards as Shrewsbury snatched a dramatic victory at Crewe.
Larnell Cole had given the visitors an early lead with a shot which was deflected past Ben Garratt.
Ryan Lowe wasted a close-range chance for Crewe, but then provided the pass for Ryan Colclough to find the corner.
Shrewsbury keeper Mark Halstead denied Colclough and Lowe, but Shrewsbury sub Jean-Louis Akpa Akpro hit a post before Whalley beat Garratt to win it.
The victory lifted the visitors up to 17th in League One, three points clear of the bottom four, with Crewe remaining next to bottom.
- 16KingSubstituted forInmanat 74'minutes
- 9HaberBooked at 55mins
- 13GerrardBooked at 64mins
- 10WhalleySubstituted forKnight-Percivalat 90+4'minutes
- 9CollinsSubstituted forAkpa-Akproat 72'minutes
- 16VernonSubstituted forBarnettat 84'minutes
- Andy Haines
- Shots on Target
Second Half ends, Crewe Alexandra 1, Shrewsbury Town 2.
Jean-Louis Akpa-Akpro (Shrewsbury Town) wins a free kick in the defensive half.
Foul by Oliver Turton (Crewe Alexandra).
Substitution, Shrewsbury Town. Nathaniel Knight-Percival replaces Shaun Whalley.
Corner, Shrewsbury Town. Conceded by Semi Ajayi.
Corner, Crewe Alexandra. Conceded by Anthony Gerrard.
Corner, Crewe Alexandra. Conceded by Junior Brown.
Corner, Crewe Alexandra. Conceded by Dominic Smith.
Goal! Crewe Alexandra 1, Shrewsbury Town 2. Shaun Whalley (Shrewsbury Town) left footed shot from the right side of the box to the top left corner. Assisted by Tyrone Barnett.
Ian Black (Shrewsbury Town) wins a free kick on the left wing.
Foul by Ryan Lowe (Crewe Alexandra).
Substitution, Shrewsbury Town. Tyrone Barnett replaces Scott Vernon.
Attempt missed. David Fox (Crewe Alexandra) right footed shot from outside the box is close, but misses to the left.
Corner, Crewe Alexandra. Conceded by Shaun Whalley.
Attempt missed. Ryan Lowe (Crewe Alexandra) left footed shot from the left side of the box is close, but misses to the right.
Foul by Jean-Louis Akpa-Akpro (Shrewsbury Town).
Ben Nugent (Crewe Alexandra) wins a free kick in the defensive half.
Substitution, Crewe Alexandra. Bradden Inman replaces Adam King.
Corner, Shrewsbury Town. Conceded by Jon Guthrie.