Match ends, Peterborough United 2, Port Vale 3.
Port Vale mounted a stunning second-half fightback at London Road as they came from 2-0 down at half-time to beat Peterborough United.
Jon Taylor put Posh ahead after just 75 seconds before Aaron Williams fired in from the edge of the box on 41 minutes for his first Football League goal.
Byron Moore controlled Sam Foley's cut-back to pull one back on 49 minutes.
Vale then struck twice in the last four minutes as JJ Hooper glanced in before Louis Dodds rifled in the winner.
The striker's first goal in almost four months condemned Posh to a club record-equalling fifth successive home defeat.
Vale's third win in four games leaves them within three points of the League One play-off zone.
But victory came at a cost for Rob Page's side, who had defender Ryan Inniss stretchered off in the first half.
Port Vale manager Rob Page told Radio Stoke:
"We got off to the worst possible start, We gifted them a couple of goals.
"But credit has to go to the group of players. I couldn't be any more proud.
"We showed real character to come back into it and we thoroughly deserved to win."
- 6BaldwinBooked at 45mins
- 8BostwickBooked at 73mins
- 33ForresterSubstituted forNabiat 78'minutes
- 21NicholsSubstituted forAngolat 74'minutes
- 41WilliamsSubstituted forNicholsonat 81'minutes
- 26InnissSubstituted forMcGivernat 36'minutes
- 19MooreSubstituted forKellyat 76'minutes
- 8O'ConnorBooked at 70mins
- 42GrantBooked at 55mins
- 25RobinsonSubstituted forHooperat 66'minutes
- Darren Bond
- Shots on Target
Second Half ends, Peterborough United 2, Port Vale 3.
Attempt saved. Marcus Maddison (Peterborough United) right footed shot from outside the box is saved in the bottom right corner.
Jordan Nicholson (Peterborough United) wins a free kick in the attacking half.
Foul by Ryan McGivern (Port Vale).
Goal! Peterborough United 2, Port Vale 3. Louis Dodds (Port Vale) left footed shot from the left side of the box to the bottom right corner. Assisted by Sam Kelly.
Michael Smith (Peterborough United) wins a free kick on the right wing.
Foul by Louis Dodds (Port Vale).
Attempt missed. Marcus Maddison (Peterborough United) left footed shot from outside the box misses to the right.
Goal! Peterborough United 2, Port Vale 2. JJ Hooper (Port Vale) header from the centre of the box to the bottom right corner. Assisted by Ryan McGivern with a cross.
Foul by Adil Nabi (Peterborough United).
Anthony Grant (Port Vale) wins a free kick in the defensive half.
Foul by Lee Angol (Peterborough United).
Michael O'Connor (Port Vale) wins a free kick on the left wing.
Harry Toffolo (Peterborough United) wins a free kick on the left wing.
Foul by Michael O'Connor (Port Vale).
Attempt blocked. Sam Foley (Port Vale) right footed shot from outside the box is blocked.
Substitution, Peterborough United. Jordan Nicholson replaces Aaron Williams.
Substitution, Peterborough United. Adil Nabi replaces Chris Forrester.
Substitution, Port Vale. Sam Kelly replaces Byron Moore.