document: Walsall had to play most of the game a man down after Joe Edwards' 16th-minute sending-off, but Jason McCarthy gave them the lead nine minutes later and Etheridge kept Bolton at bay.
  Wanderers almost took the lead after 13 minutes but Jamie Proctor's looping header from a Chris Taylor cross clipped the bar.
  Edwards was shown a straight red card three minutes later for elbowing Taylor as the pair jumped.
  However, the 10 men of Walsall went in front after 25 minutes as Bolton keeper Mark Howard flapped at Kieron Morris's free-kick, allowing McCarthy to bundle home into an empty net.
  The away side almost levelled two minutes later but Lewis Buxton's header was cleared off the line by Andreas Makris.
  And as Bolton turned the screw in the second half, Etheridge made superb saves from two close-range David Wheater headers, a 20-yard Taylor drive and Proctor's 12-yard half-volley.
  To compound the visitors' misery, substitute Keshi Anderson - booked for entering the field of play prematurely on his introduction - was shown a second yellow for a stoppage-time foul on Scott Laird.
  Reports supplied by Press Association.
  Match ends, Walsall 1, Bolton Wanderers 0.
  Second Half ends, Walsall 1, Bolton Wanderers 0.
  Corner,  Bolton Wanderers. Conceded by James O'Connor.
  Attempt missed. Kieron Morris (Walsall) left footed shot from outside the box is just a bit too high.
  Second yellow card to Keshi Anderson (Bolton Wanderers) for a bad foul.
  Foul by Keshi Anderson (Bolton Wanderers).
  Scott Laird (Walsall) wins a free kick in the attacking half.
  Delay over. They are ready to continue.
  Delay in match Sammy Ameobi (Bolton Wanderers) because of an injury.
  Corner,  Bolton Wanderers. Conceded by Simeon Jackson.
  Substitution, Walsall. Liam Kinsella replaces Erhun Oztumer.
  Dean Moxey (Bolton Wanderers) is shown the yellow card.
  Attempt blocked. Sammy Ameobi (Bolton Wanderers) right footed shot from the centre of the box is blocked.
  Mark Beevers (Bolton Wanderers) is shown the yellow card for a bad foul.
  Foul by Mark Beevers (Bolton Wanderers).
  Erhun Oztumer (Walsall) wins a free kick in the attacking half.
  Substitution, Bolton Wanderers. Dean Moxey replaces Andrew Taylor.
  Delay over. They are ready to continue.
  Delay in match Neil Etheridge (Walsall) because of an injury.
  Foul by Keshi Anderson (Bolton Wanderers).
  Neil Etheridge (Walsall) wins a free kick in the attacking half.
  Foul by Liam Trotter (Bolton Wanderers).
  Simeon Jackson (Walsall) wins a free kick on the right wing.
  Foul by Jamie Proctor (Bolton Wanderers).
  Scott Laird (Walsall) wins a free kick in the attacking half.
  Corner,  Bolton Wanderers. Conceded by Kieron Morris.
  Neil Etheridge (Walsall) is shown the yellow card.
  Attempt missed. Zach Clough (Bolton Wanderers) left footed shot from the right side of the six yard box is just a bit too high.
  Corner,  Bolton Wanderers. Conceded by Neil Etheridge.
  Attempt saved. David Wheater (Bolton Wanderers) header from the centre of the box is saved in the top left corner.
  Corner,  Bolton Wanderers. Conceded by Kevin Toner.
  Attempt saved. Zach Clough (Bolton Wanderers) right footed shot from the centre of the box is saved in the centre of the goal.
  Corner,  Bolton Wanderers. Conceded by Neil Etheridge.
  Attempt missed. Erhun Oztumer (Walsall) right footed shot from outside the box is just a bit too high.
  Corner,  Walsall. Conceded by Mark Beevers.
  Attempt missed. Simeon Jackson (Walsall) right footed shot from outside the box is close, but misses to the left from a direct free kick.
  Andrew Taylor (Bolton Wanderers) wins a free kick in the attacking half.
  Simeon Jackson (Walsall) wins a free kick in the attacking half.
  Keshi Anderson (Bolton Wanderers) is shown the yellow card.
  Substitution, Bolton Wanderers. Keshi Anderson replaces Chris Taylor.
summary: Goalkeeper Neil Etheridge's heroics helped 10-man Walsall stun Bolton as they ended Wanderers' unbeaten start to the season with a gutsy victory.