Match ends, Port Vale 3, Swindon Town 2.
Port Vale earned an important three points in the battle against relegation by beating fellow strugglers Swindon at Vale Park.
A goal from Chris Eagles and a brace from JJ Hooper gave the Valiants their first league win in nine attempts in League One.
Nicky Ajose broke the deadlock on 35 minutes when his shot struck Kjell Knops and the deflection took it past Leonardo Fasan in the Vale goal.
Vale hit back a minute later when Eagles latched onto a Lawrence Vigouroux parry.
The hosts scored their second on 50 minutes when a Kiko free-kick was poked home by Hooper.
Two minutes later Vale were awarded a penalty when Eagles was fouled in the box. Forward Anton Forrester stepped up to take the spot-kick but shot over.
Brad Barry was sent off for the visitors four minutes from time for bringing down Hooper. The forward dispatched the resulting free-kick into the top left corner before substitute Luke Norris got a goal back for Swindon on 90 minutes.
Match report supplied by the Press Association.
- 20Geraldo Rosa
- 44EaglesSubstituted forReevesat 79'minutes
- 11FoleySubstituted forTavaresat 90+5'minutes
- 46ShodipoSubstituted forKellyat 70'minutes
- 10HooperBooked at 90mins
- 2ThompsonBooked at 22mins
- 29Rossi BrancoBooked at 78mins
- 27BarryBooked at 86mins
- 3Ormonde-OttewillBooked at 49mins
- 7GladwinSubstituted forGoddardat 74'minutes
- 19AjoseSubstituted forNorrisat 75'minutes
- Geoff Eltringham
- Shots on Target
Second Half ends, Port Vale 3, Swindon Town 2.
Paulo Tavares (Port Vale) wins a free kick in the attacking half.
Foul by Charlie Colkett (Swindon Town).
JJ Hooper (Port Vale) is shown the yellow card.
Foul by Luke Norris (Swindon Town).
Sam Kelly (Port Vale) wins a free kick in the attacking half.
Substitution, Port Vale. Paulo Tavares replaces Sam Foley because of an injury.
Goal! Port Vale 3, Swindon Town 2. Luke Norris (Swindon Town) right footed shot from the centre of the box to the bottom right corner. Assisted by Charlie Colkett.
Goal! Port Vale 3, Swindon Town 1. JJ Hooper (Port Vale) from a free kick with a right footed shot to the top left corner.
JJ Hooper (Port Vale) wins a free kick in the defensive half.
Bradley Barry (Swindon Town) is shown the red card.
Foul by Bradley Barry (Swindon Town).
Attempt saved. Callum Guy (Port Vale) right footed shot from outside the box is saved in the centre of the goal.
Foul by Kjell Knops (Port Vale).
Jonathan Obika (Swindon Town) wins a free kick in the attacking half.
Corner, Port Vale. Conceded by Brandon Ormonde-Ottewill.
Substitution, Port Vale. William Reeves replaces Chris Eagles.
Raphael Rossi Branco (Swindon Town) is shown the yellow card for a bad foul.
Anton Forrester (Port Vale) wins a free kick in the defensive half.