Walsall 0 Coventry 2 - Report and pictures
Walsall blew the chance to move into League One's top six as Jim O'Brien's early piledriver and Marcus Tudgay's late header helped Coventry through.
A victory by two or more goals would have moved Walsall into the play-off positions but that never looked likely once O'Brien's sixth-minute rocket put the Sky Blues ahead.
Walsall had already survived one scare by that point as Tudgay's penalty had been saved by Richard O'Donnell after Sawyers had upended O'Brien.
The Saddlers improved after the break but the woodwork twice denied them an equaliser as Anthony Forde hit one post and, minutes later, Michael Cain struck the other.
Those bits of bad luck seemed to take the steam out of the Saddlers' sails and Tudgay's 87th-minute header sealed victory for the visitors.
It also dented the confidence of the Saddlers going into their huge Johnstone Paint Trophy area final first leg at Preston on Wednesday.
Walsall were forced into one change from the side that was so impressive in the 3-0 win at MK Dons six days earlier as Jordan Cook missed out with a sickness bug and was replaced by James Baxendale.
Coventry, meanwhile, made three changes from the Sky Blues side that drew 0-0 at Chesterfield last Sunday and all three were enforced too.
Striker Gary Madine – who this week agreed an extension on his loan deal from Sheffield Wednesday until the end of January – was ruled out with a knee injury as Marcus Tudgay came in up front.
Additionally both City centre-halves, Aaron Martin and Andrew Webster, missed out with illness, the latter only pulling out after the pre-match warm-up. Jordan Willis and Aaron Phillips were their replacements.
Despite those blows City came racing out of the blocks, going ahead inside six minutes, just moments after they had missed a golden chance from the penalty spot.
Romaine Sawyers was the culprit for the spot-kick, clumsily bundling City skipper O'Brien over in the area.
However, Richard O'Donnell spared his blushes, saving the penalty with his legs as Tudgay opted for power rather than precision by blasting his spot-kick straight down the middle.
Walsall's let-off was only temporary, however, as just a minute later the ball sat up nicely for O'Brien 30 yards out and he unleashed an absolute scorcher over O'Donnell into the top corner.
The Saddlers' response was decent as Anthony Forde's 25-yard free-kick was saved low down by City keeper Ryan Allsop.
Walsall had an even better chance to equalise a few minutes later as Tom Bradshaw took Andy Taylor's cross into his stride with one touch but lashed well over from a difficult angle.
Coventry threatened to double their lead from distance as John Fleck let fly from 35 yards with a fierce first-time strike that, fortunately for Walsall, was straight at O'Donnell.
They came even closer to doing so 20 minutes in as Tudgay won an aerial battle from a floated cross and his header hit the crossbar.
Coventry continued to pile on the pressure and after a Frank Nouble effort was deflected wide for a corner, O'Donnell made a superb point-blank save to foil Matthew Pennington's shot on the turn.
Walsall replied with a fine move that ended with Michael Cain's low 20-yard drive testing Allsop before Andy Taylor's 25-yard free-kick floated only inches over the bar.
The Saddlers came out brightly at the start of the second half and were almost level inside the first three minutes.
Forde beat two men out wide before putting in a low cross that Bradshaw got an outstretched boot to but City keeper Allsop kept it out with an instinctive save with his legs.
Walsall were to come even closer moments later as Baxendale's curler was turned aside by Allsop and Forde struck the post from the rebound.
The Saddlers hit the woodwork again a minute prior to the hour mark as Cain's snapshot volley struck the outside of the base of the left-hand post.
It seemed as if the equaliser must come but Baxendale floated a chip well wide after a promising run and that was his last contribution before being replaced by Mal Benning midway through the half.
Tempers flared when Coventry midfielder Conor Thomas was booked for a late challenge on Sawyers who was himself lucky to escape a caution for his reaction as he squared up to the Sky Blues man.
After a lull, Walsall continued their search for an equaliser in the last 10 minutes but Cain fired just wide from the edge of the box.
And Coventry secured victory three minutes from time as Tudgay climbed highest to power home a header from a far-post corner.