City were not made to pay for missed chances as a second successive Sam Baldock penalty was enough to clinch maximum points on Boxing Day.
Baldock’s 15th minute penalty, a carbon copy of his spot-kick at Notts County five days ago, provided the platform for only City’s third league victory of the campaign.
The goalscorer was guilty of failing to repeat the feat on four separate occasions, but at the other end the Robins were seldom threatened in registering a welcome second clean sheet of the league season.
Steve Cotterill made Louis Carey wait for historic appearance number 646, as the veteran defender was back among the substitutes after Karleigh Osborne returned from a three-match ban to take his place in a City back three.
The Robins were otherwise unchanged from the 1-1 draw at Notts County in which Carey equalled John Atyeo’s all-time appearance record.
Brendan Moloney, on the bench at Meadow Lane, missed out on a place in the squad through suspension having picked up his fifth booking of the season in the East Midlands.
It was a cagey opening to the contest, with both teams trading long-range shots before City were awarded only their second penalty of the season on 15 minutes.
James Baxendale and Jay Emmanuel-Thomas were both off target from outside the penalty area, although the City man’s curling effort did look the more threatening effort in mid-flight.
It would take a second successive spot-kick to break the deadlock in favour of the hosts when Greg Cunningham’s perfectly weighted pass enticed Richard O’Donnell to dive at the feet of Bobby Reid, who just won the race before getting a toe to the ball and going down under the clumsy challenge of the visiting Walsall keeper.
It was a no-brainer for referee David Webb – unlike last time out – to point to the spot and invite Baldock to convert in identical fashion with a powerful shot straight down the middle as O’Donnell dived in vain to his left.
However, City’s case was dealt a setback when Reid hobbled off 12 minutes later, prompting Cotterill to take the unusual step of bringing Nicky Shorey into the midfield trio at the expense of more likely subjects Marvin Elliott and Joe Bryan.
But it did nothing to put the home team off their stride, as Emmanuel-Thomas threaded a perfect pass between defenders for Baldock to run on to and bear down on goal, only for left-back Andy Taylor to make an outstanding last-ditch block just as the City captain pulled the trigger.
Baldock was guilty of not adding to his tally again two minutes before the break when a high ball into the Walsall box fell kindly into his path, but this time he snatched at the chance on his left foot and dragged his shot wide.
At the other end, much of the Saddlers’ approach play was neat and tidy but lacked a knockout punch.
Sam Mantom’s 30-yarder comfortably dealt with by Elliott Parish represented the keeper’s only first half save, while Romain Sawyers sent a daisy cutter a couple of yards wide in the closing stages.
Walsall started the second period like a team on the receiving end of a half-time rollicking from manager Dean Smith.
Twice City were troubled by teasing crosses, as Parish flapped at one from Milan Lalkovic before Craig Westcarr’s centre somehow eluded everyone inside a crowded goalmouth.
Having weathered an early storm, of sorts, City were relatively comfortable.
Cotterill made his second eyebrow raising change of the afternoon in sacrificing Emmanuel-Thomas for the young fresh legs of Wes Burns, before Walsall replacement Ashley Hemmings swivelled to hit a volley comfortably gathered by Parish.
The arrival of Burns nearly paid dividends when the 19-year-old surged into the box and forced an important tackle which redirected the ball into the path of Baldock, who was perfectly placed eight yards out but denied by O’Donnell who spread himself to make a vital stop.
City were creating chances but unable to find the two-goal lead they craved, as a Shorey corner was headed down by Aden Flint but just the wrong side of the post.
Cotterill’s final substitution was to withdraw his first, Shorey, with Bryan finally introduced 12 minutes from time.
In the end the Robins would spend more of the remaining moments on the attack, but Baldock was again denied by O’Donnell as City would have to settle for the narrowest of victories.