Ivan Campo and Nicolas Anelka scored late goals to help Bolton reach the Carling Cup third round. Bolton skipper Kevin Nolan broke the deadlock on 68 minutes, finishing off Anelka's cross from close range.
But Martin Butler put the Saddlers back on terms as he headed in the rebound after Dean Keates hit the woodwork.
With just two minutes to go, Campo netted with a back-post header from Gary Speed's right-wing corner, then Anelka pounced in injury time.
The League Two side made it difficult for their Premiership opponents throughout the game, and attacked early on through Butler, who forced a one-handed save from Ian Walker with just three minutes gone.
Mark Wright and Michael Dobson both had efforts, and Saddlers centre-half Chris Westwood hit the post with a header from Keates' cross.
But Bolton had chances too, with Ricardo Vaz Te denied by at point-blank range by Clayton Ince's parry.
Ince also had to tip Abdoulaye Meite's second-half header on to the bar, with Idan Tal unable to force home the rebound.
Walsall: Ince, Pead, Westwood, Wright, Roper, Fox (Demontagnac 77), Dobson, Keates, Taylor, Butler, Sam.
Subs Not Used: Bedeau, Kinsella, Gilmartin, Dann.
Goals: Butler 74.
Bolton: Walker, Hunt, Meite, Tal, Teimourian (Nolan 59), Giannakopoulos (Diouf 75), Speed, Campo, Fojut, Anelka, Vaz Te.
Subs Not Used: Al Habsi, Jamieson, Blazej.
Goals: Nolan 68, Campo 88, Anelka 90.
Att: 6,243.
Ref: A D'Urso (Essex).