Match ends, Crewe Alexandra 0, Port Vale 1.
Port Vale ended local rivals Crewe's seven-game unbeaten run in League Two thanks to Jake Taylor's second-half effort.
A tight derby match was settled on the hour mark by Taylor's close-range finish, leaving Crewe still to beat Vale on home turf in their last four meetings and dropping down to fourth.
Vale went close early on when Richie Bennett's close-range header from a corner was cleared off the line by Paul Green.
Crewe's first threat almost ended in a freak goal for Charlie Kirk with the attacker's driven cross catching out Scott Brown and clipping the far post.
Clear chances were at a premium, but Crewe found room around the Vale box to get shots away as Green fired high over, with Kirk going closer with an effort which flew wide.
The Alex were on the front foot at the start of the second half with Brown spilling Green's angled shot before the veteran got on the end of Kirk's cross, heading just wide at the far post.
Against the run of play, Vale took the lead with Taylor reacting the quickest to poke home from inside the six-yard box after Will Jaaskelainen pushed Nathan Smith's header from a corner onto the post.
Crewe responded well but leading scorer Chris Porter ballooned an effort over from 12 yards.
Vale were close to doubling their advantage as substitute Tom Pope's downward header was scrambled onto the bar by Jaaskelainen.
Brown preserved the visitors' lead by pushing out Porter's close-range header in the closing minutes.
Match report supplied by PA Media.
Line-ups
Crewe
Formation 4-3-3
- 1Jaaskelainen
- 2Ng
- 15Hunt
- 6Nolan
- 3Pickering
- 12GreenSubstituted forAneneat 75'minutes
- 4Wintle
- 16LowerySubstituted forJonesat 82'minutes
- 11AinleySubstituted forDaleat 63'minutes
- 9Porter
- 10Kirk
Substitutes
- 8Jones
- 13Richards
- 14Finney
- 17Anene
- 19Dale
- 23Johnson
- 25Adebisi
Port Vale
Formation 4-3-3
- 1BrownBooked at 90mins
- 2Gibbons
- 5LeggeBooked at 80mins
- 15Smith
- 11MontañoSubstituted forEvansat 69'minutes
- 20Burgess
- 4Joyce
- 16Taylor
- 19Amoo
- 21BennettSubstituted forPopeat 60'minutes
- 7Worrall
Substitutes
- 9Pope
- 13Cullen
- 17Browne
- 18Evans
- 28Brisley
- 29Archer
- 30Maddison
- Referee:
- Ross Joyce
- Attendance:
- 7,705
Match Stats
- Possession
- Home63%
- Away37%
- Shots
- Home16
- Away12
- Shots on Target
- Home2
- Away3
- Corners
- Home3
- Away6
- Fouls
- Home10
- Away12
Live Text
Post update
Full Time
Second Half ends, Crewe Alexandra 0, Port Vale 1.
Post update
Attempt missed. Charlie Kirk (Crewe Alexandra) right footed shot from the left side of the box is close, but misses to the right.
Booking
Scott Brown (Port Vale) is shown the yellow card.
Post update
Foul by Eddie Nolan (Crewe Alexandra).
Post update
David Amoo (Port Vale) wins a free kick in the defensive half.
Post update
Eddie Nolan (Crewe Alexandra) wins a free kick in the defensive half.
Post update
Foul by Tom Pope (Port Vale).
Post update
Offside, Crewe Alexandra. Ryan Wintle tries a through ball, but Charlie Kirk is caught offside.
Post update
Attempt missed. David Amoo (Port Vale) header from the centre of the box is too high. Assisted by David Worrall with a cross.
Post update
Attempt saved. Chris Porter (Crewe Alexandra) header from the centre of the box is saved in the centre of the goal. Assisted by Owen Dale with a cross.
Post update
Chuma Anene (Crewe Alexandra) wins a free kick on the right wing.
Post update
Foul by Luke Joyce (Port Vale).
Post update
Attempt missed. David Worrall (Port Vale) right footed shot from the right side of the box misses to the left. Assisted by Tom Pope.
Post update
Eddie Nolan (Crewe Alexandra) wins a free kick in the defensive half.
Post update
Foul by Tom Pope (Port Vale).
Post update
Offside, Port Vale. David Amoo tries a through ball, but James Gibbons is caught offside.
Substitution
Substitution, Crewe Alexandra. James Jones replaces Tommy Lowery.
Booking
Leon Legge (Port Vale) is shown the yellow card for a bad foul.
Post update
Chris Porter (Crewe Alexandra) wins a free kick in the attacking half.