Marc Richards headed his 16th goal of the season to see off 10-man Bristol Rovers in League Two.
Tom Parkes sent a shot narrowly wide for Rovers early on, but the hosts went ahead when Richards nodded in Sean Rigg's left-wing cross.
Parkes then received a straight red card before the break after a two-footed lunge on Chris Shuker, who was lucky to remain unscathed.
Adam Yates, Louis Dodds and Shuker went close as Vale went on to dominate.
VIEWS FROM THE DRESSING ROOM
Port Vale manager Micky Adams told BBC Radio Stoke:
"We deserved the victory. I was really pleased with how it went and we're pleased to get the three points.
"We kept the same team that started against Shrewsbury in midweek because I thought we played really well against a team challenging for promotion."
"These games that are dead rubbers are difficult to get yourselves up for, but we've set ourselves a few targets for the last few games."
Bristol Rovers manager Mark McGhee told BBC Radio Bristol:
"We didn't play well - we didn't reach any of the heights we've reached in recent games.
"Our possession was poor, our decision making was poor and we looked short on energy.
"Although Matt Harrold battled his corner really well, Eliot (richards) never quite got into the game like he did last week.
"Muzzy (Carayol) was very disappointing and he's so vital to our attack that when he plays as poorly as he did, you're not going to be half as potent."
- 01 Martin
- 02 Yates
- 05 McCombe
- 26 Davis Booked
- 04 Griffith (Morsy - 72' )
- 07 Loft
- 17 Rigg (Taylor - 81' )
- 20 Shuker
- 08 Dodds (Williamson - 74' )
- 09 Richards
- 11 Pope
- 03 Taylor
- 14 Marshall
- 18 Morsy
- 21 James
- 19 Williamson
- 01 Bevan
- 03 Sawyer
- 04 Woodards
- 05 Bolger Booked
- 37 Parks Dismissed
- 08 Gill
- 11 Carayol (Smith - 60' )
- 17 Paterson (Brown - 83' Booked )
- 34 Dorman
- 09 Harrold
- 18 Richard (Zebroski - 60' )
- 02 Smith
- 14 Brown
- 33 Downes
- 21 Brown
- 26 Zebroski
Live Text Commentary
Full Time The game is over, as the referee blows his whistle.90:00 +1:49
Strike on goal comes in from Marc Richards from the free kick.90:00 +1:49 Booking
Booking The referee shows Lee Brown a yellow card.90:00 +1:36
Foul by Lee Brown on Robert Taylor, free kick awarded.90:00 +0:11
Corner taken short by Chris Shuker.85:49
Doug Loft takes a shot. Save by Scott Bevan. Corner taken by Chris Shuker.85:11
Inswinging corner taken by Chris Shuker, Cian Bolger makes a clearance.83:55
The free kick is swung in right-footed by Mathew Gill, save made by Chris Martin.83:55 Booking
Booking Joe Davis is given a yellow card.83:43
Free kick awarded for an unfair challenge on Chris Zebroski by Joe Davis.82:32
Save by Scott Bevan.82:32 Substitution
Substitution James Paterson leaves the field to be replaced by Lee Brown.82:32
Corner taken right-footed by Chris Shuker to the near post,79:54
Free kick awarded for a foul by Marc Richards on Cian Bolger. Free kick taken by Scott Bevan.79:54 Substitution
Substitution Robert Taylor comes on in place of Sean Rigg.79:54
Outswinging corner taken by Chris Shuker,75:41
Tom Pope is ruled offside. Scott Bevan takes the free kick.75:04
The assistant referee flags for offside against Chris Zebroski. Chris Martin takes the free kick.73:41
The ball is swung over by Mathew Gill, save by Chris Martin.73:41 Substitution
Substitution Ben Williamson on for Louis Dodds.
Foul by Adam Yates on Chris Zebroski, free kick awarded.71:17 Substitution
Substitution Sam Morsy comes on in place of Anthony Griffith.64:53
Unfair challenge on Chris Zebroski by Adam Yates results in a free kick. Mathew Gill delivers the ball from the free kick right-footed from left channel.64:22
The assistant referee signals for offside against Sean Rigg. Free kick taken by Cian Bolger.63:19
Anthony Griffith fouled by Mathew Gill, the ref awards a free kick. Chris Shuker delivers the ball from the free kick right-footed from left wing, Scott Bevan makes a save.58:53 Substitution
Substitution Michael Smith joins the action as a substitute, replacing Mustapha Carayol.58:53 Substitution
Substitution Eliot Richards leaves the field to be replaced by Chris Zebroski.58:53
Chris Shuker has an effort at goal from just inside the box that misses to the right of the target.55:05
Shot by Adam Yates from outside the box goes over the target.54:16
The assistant referee flags for offside against Tom Pope. Free kick taken by Scott Bevan.50:59
Foul by Cian Bolger on Marc Richards, free kick awarded. Free kick taken by Doug Loft.49:37
Louis Dodds challenges Gary Sawyer unfairly and gives away a free kick. Mathew Gill takes the direct free kick.47:11
Mustapha Carayol takes the outswinging corner, clearance by Louis Dodds.45:01
The second half has started.45:00 +2:10 Half time
Half Time The referee calls an end to the first half.43:23
Foul by Gary Sawyer on Tom Pope, free kick awarded. Chris Shuker takes the free kick.38:17
Direct free kick taken by Adam Yates.38:17 Dismissal
Dismissal Tom Parkes sent from the field by the ref for violent conduct.38:14
Free kick awarded for an unfair challenge on Chris Shuker by Tom Parkes.36:08
Marc Richards is caught offside. Scott Bevan restarts play with the free kick.34:34
Eliot Richards produces a right-footed shot from just outside the area that goes harmlessly over the target.33:35
Sean Rigg has an effort at goal from deep inside the area missing to the right of the goal.33:11
The ball is swung over by Gary Sawyer, Chris Martin makes a save.28:05
Dan Woodards gives away a free kick for an unfair challenge on Doug Loft. The free kick is swung in right-footed by Chris Shuker.27:33
Foul by James Paterson on Adam Yates, free kick awarded. Direct free kick taken by Chris Martin.24:37
Unfair challenge on Mustapha Carayol by John McCombe results in a free kick. Matt Harrold produces a shot on goal direct from the free kick.22:53
Assist on the goal came from Sean Rigg.22:53 Goal scored
Goal! - Marc Richards - Port Vale 1 - 0 Bristol R Marc Richards scores a headed goal from deep inside the penalty box. Port Vale 1-0 Bristol Rovers.22:51
Sean Rigg delivers the ball,13:49
Chris Shuker takes the outswinging corner, Cian Bolger makes a clearance.13:13
Shot by Mustapha Carayol from deep inside the penalty area misses wide to the left of the target.10:07
Free kick crossed by Doug Loft, Tom Parkes manages to make a clearance.10:07 Booking
Booking The referee books Cian Bolger for unsporting behaviour.9:52
Tom Pope fouled by Cian Bolger, the ref awards a free kick.5:25
The assistant referee signals for offside against Marc Richards. Free kick taken by Tom Parkes.4:37
Corner from the right by-line taken by Chris Shuker, clearance made by Mustapha Carayol.3:56
Foul by Cian Bolger on Marc Richards, free kick awarded. Chris Shuker takes the free kick.3:22
The offside flag is raised against Marc Richards. Indirect free kick taken by Scott Bevan.0:27
Corner taken by Mustapha Carayol from the right by-line played to the near post, Shot from inside the six-yard box by Mathew Gill goes wide right of the target.0:00
The match gets underway.
Live data and text provided by our data suppliers