With 2,000 fans back at Prenton Park for the first time since March and the form book in Tranmere’s favour, it was Walsall that started the game well and took a deserved lead through Elijah Adebayo after 18 minutes.
The hosts grew into the game as the half progressed and levelled through a sublime Liam Feeney half-volley.
At the start of the second half the Saddlers were well on top and they took the lead again only three minutes into the half through a wonderful Wes McDonald effort from 25 yards.
With the game finely poised Walsall stepped their foot on the gas and had several chances to net again. Finally they did, after 66 minutes through Dan Scarr who met a corner with a neat flick with his foot.
Rovers continued to struggle as the half came to close, with Walsall impressing in all areas of the pitch and seeing out the 3-1 victory.
Darrell Clarke made one change to the team that drew with Stevenage in midweek, starting in a 4-5-1 formation.
Rory Holden returned from suspension and came into the starting XI in place of Jake Scrimshaw who dropped to the bench. Jack Nolan missed out on the squad.
Keith Hill also made one change, starting in a 4-1-2-1-2 formation.
Former Saddlers loanee Corey Blackett-Taylor came into the side as Kaiyne Woolery dropped to the bench.
Fellow former Walsall player Kieron Morris also started while Morgan Ferrier and goalkeeper Joe Murphy made the bench.
As 2,000 fans were allowed into Prenton Park for the first time since March, they made themselves heard in the opening stages of the game.
But it was Walsall that should have scored after five minutes. Some nice passing from Emmanuel Osadebe and Holden had the former in on goal but as the ball got stuck in his feet his shot was tame and directly at goalkeeper Scott Davies.
Within a minute of that chance the Saddlers kept up the pressure and as the ball fell for Holden again his shot, destined for the bottom corner, was blocked on the line.
Paul Lewis came close with a header that flew just beyond the post. He met a Lee O’Connor cross.
The hosts were playing the ball around nicely when they had the chance but Walsall were doing a good job of frustrating them and forcing them into unsuccessful long balls.
Then in the 18th minute the Saddlers took the lead. A nice cross from McDonald found Adebayo at the near post who smartly got in front of his marker to tap home.
Cameron Norman was holding his face and appealing for James Vaughan to be punished after the striker seemed to throw the defender to the floor, but the referee only awarded a free-kick.
Tranmere were back on level terms just after 30 minutes through Feeney. The midfielder latched onto a cross from the left and his delightful half-volley flew into the bottom corner.
Walsall should have re-taken the lead in the 43rd minute. Some wonderful build-up play saw Liam Kinsella deliver a delightful dinked cross to the back post for Scarr. The defender won the header but goalkeeper Davies saved from point-blank range.
The teams entered the break drawing 1-1.
Walsall came out in the second half fighting and should have scored within a couple minutes. A Holden cross was met by Kinsella who hit the crossbar with his header. Osadebe then missed the rebound from close range.
But from the recycled ball, Walsall did take the lead. McDonald picked the ball up on the left, cut inside and curled in a wonderful effort into the top corner from 25 yards.
The Saddlers dominated the game after their second goal and Holden first directed an effort just wide before having a strong shot saved at the near post.
Zak Jules and McDonald were enjoying plenty of the ball on the left flank as Walsall continued their search for a third goal.
That third goal came after 66 minutes. Scarr met a corner and neatly flicked it into the bottom corner.
The visitors continued to pile on the pressure and again came close when Holden had a curled effort saved.
Tranmere were eager to drag themselves back into the game but found chances hard to come by, with Walsall standing firm in defence and securing the three points.
Walsall: Rose, Norman, Scarr, Clarke, Jules, Bates, Kinsella, Osadebe (Sinclair, 89), McDonald (Scrimshaw, 91), Holden, Adebayo (Gordon, 85)
Subs not used: Roberts, White, Guthrie, Lavery.
Tranmere: Davies, O’Connor, Clarke, Monthe, MacDonald, Spearing, Lewis (Lloyd, 63), Feeney, Morris (Khan, 74), Blackett-Taylor (Woolery, 63), Vaughan (Ferrier, 63).
Subs not used: Murphy, Nelson, Ridehalgh.