A brace from Elijah Adebayo helped Walsall earn a crucial three points away at Port Vale.
The striker gave Walsall the lead after six minutes but his goal was cancelled out by Tom Conlon.
The 23-year-old then netted his second of the game and 10th of the season early in the second half before the game was taken beyond Port Vale when David Fitzpatrick's backpass was miscued and ended up in the goal.
Darrell Clarke made two changes to the team that drew with Morecambe on Tuesday.
Tyreik Wright came in for his professional debut in place of Jack Nolan while Alfie Bates came in for Stuart Sinclair.
The Saddlers made the perfect start and opened the scoring after six minutes when Adebayo got on the end of Bates’ ball over the top and slotted it past the on rushing Scott Brown.
Walsall came close to scoring a second when Josh Gordon found Hayden White with space on the right who latched onto it and got a shot away but he just missed the target.
Vale grew into the game and started to enjoy more possession.
The hosts equalised on 33 minutes when Conlon found the net from 35 yards when his low free-kick went through Liam Roberts and into the net.
Vale grew in confidence the teams went in level at the break.
Port Vale looked bright at the start of the second half but it was the Saddlers who got the third goal of the game when Wright’s cross found Adebayo at the back post who headed in the back of the net on 55 minutes.
Darrell Clarke made a change soon after as he introduced Sinclair for Bates.
The Saddlers stretched their lead in incredible circumstances on 68 minutes when David Fitzpatrick’s back pass bobbled over Brown’s foot and trickled into the net.
Clarke introduced Cameron Norman, Caolan Lavery and Frank Vincent for his Saddlers debut to bring fresh legs into the team.
Vale had plenty of corners and free-kicks late on but the Saddlers dealt with everything the hosts threw at them to take three points.