Match ends, Port Vale 3, Shrewsbury Town 1.
Jordan Hugill's late strike made sure Port Vale took all three points against Shrewsbury Town.
Chris Robertson headed his third of the season for the hosts before Jennison Myrie-Williams doubled Vale's advantage with a curling long-range effort.
Liam McAlinden fired in from close range for the visitors as they dominated most of the second half.
Shrewsbury failed to find an equaliser and were punished when Hugill scored against the run of play in injury time.
The win moves Vale up into ninth place, while Shrewsbury slip to 17th.
VIEW FROM THE DRESSING ROOM
Shrewsbury Town manager Graham Turner told BBC Radio Shropshire:
"First half we stood in our areas and hardly sprinted - allowing Vale to dictate the play. It was 38 minutes before we put four or five passes together.
"Second half we stopped them playing and got some movement. We were frightened in the first half and we played second fiddle to them for most of the game.
"We can't look for reasons or excuses - Port Vale are more direct and powerful and we've come up short once again.
"We had some decent positions in the later stages - but it is a mystery and a disappointment to why we have been poor today."
- 18LinesSubstituted forDoddsat 90'minutes
- 9Myrie-WilliamsSubstituted forBirchallat 74'minutesBooked at 82mins
- 19WilliamsonSubstituted forHugillat 79'minutesBooked at 81mins
- 3JacobsonSubstituted forBradshawat 90+3'minutes
- 23ReachBooked at 35mins
- 15WildigSubstituted forWoodsat 82'minutes
- Carl Boyeson
- Shots on Target
Second Half ends, Port Vale 3, Shrewsbury Town 1.
Goal! Port Vale 3, Shrewsbury Town 1. Jordan Hugill (Port Vale) right footed shot from the centre of the box to the centre of the goal. Assisted by Carl Dickinson.
Substitution, Shrewsbury Town. Tom Bradshaw replaces Joe Jacobson.
Corner, Shrewsbury Town. Conceded by Adam Yates.
Substitution, Port Vale. Louis Dodds replaces Chris Lines.
Attempt saved. Luke Summerfield (Shrewsbury Town) right footed shot from outside the box is saved in the centre of the goal.
Chris Birchall (Port Vale) is shown the yellow card.
Luke Summerfield (Shrewsbury Town) wins a free kick in the defensive half.
Foul by Chris Birchall (Port Vale).
Substitution, Shrewsbury Town. Ryan Woods replaces Aaron Wildig.
Jordan Hugill (Port Vale) is shown the yellow card.
Foul by Jordan Hugill (Port Vale).
Dave Winfield (Shrewsbury Town) wins a free kick in the defensive half.
Corner, Port Vale. Conceded by Tamika Mkandawire.
Tom Pope (Port Vale) hits the left post with a header from the right side of the box.
Substitution, Port Vale. Jordan Hugill replaces Ben Williamson.
Attempt missed. Adam Reach (Shrewsbury Town) right footed shot from outside the box is too high.
Attempt missed. Gozie Ugwu (Shrewsbury Town) right footed shot from the centre of the box is close, but misses to the left.
Substitution, Port Vale. Chris Birchall replaces Jennison Myrie-Williams.