However, the Iron remain deep in relegation trouble and only a brilliant stoppage-time save by Eirik Holmen Johansen saved them from defeat as the Saddlers pressed for the winning goal that would have seen them climb into the play-off places.
After a slow start, the the visitors looked set for the three points they needed when leading marksman Will Grigg, back after injury, fired them in front from close range after 54 minutes with his 19th goal of the season from a good pull-back by Craig Westcarr.
Until then, Walsall had struggled as Scunthorpe dominated the first half in terms of possession, without really having a cutting edge up front though.
Home skipper Paul Reid was unlucky with a far-post header from a free-kick, while Jimmy Ryan had an early shot well saved by goalkeeper Sam Johnstone.
The Saddlers had only troubled home keeper Johansen once in the first half with a snap-shot from Sam Mantom. They looked much more positive after the interval and looked well in control after Grigg had fired them in front.
But in a dramatic finish, Canavan headed an equaliser in the 88th minute for his seventh goal of the season from a cross by substitute Mike Grella.
Then, in stoppage time, Johansen denied Walsall a last-gasp winner with a great save to deny Febian Brandy.