The Saddlers were left frustrated after Lynden Gooch’s 89th-minute equaliser rescued ten-man Sunderland a point from two goals down.
The visitors dominated the early stages but were reduced to ten men when Max Power was sent off for a lunge on Liam Kinsella.
Walsall took full advantage, with Josh Gordon’s first league goal and Josh Ginnelly’s thunderbolt putting the hosts 2-0 ahead.
But an Aiden McGeady strike and a late goal from Gooch ensured the spoils were shared.
Roared on by over 3,000 travelling supporters, the Black Cats flew out of the blocks and created a raft of chances in the early exchanges.
Tom Flanagan headed wide a Max Power cross and Bryan Oviedo cut infield from the right before firing straight at keeper Liam Roberts, who then tipped over Power’s dipping 20-yard half-volley.
The dominant Wearsiders forced nine corners inside the opening 17 minutes, from one of which Jon Guthrie made a vital goalline clearance to keep out Jack Baldwin’s firm shot.
Against the run of play, the Saddlers almost took the lead when Nicky Devlin’s right-wing cross found its way to Andy Cook, whose first-time strike was held by keeper Jon McLaughlin.
Sunderland had bossed the opening 23 minutes but the complexion of the match changed when Power was shown a straight red card for a lunge on Liam Kinsella.
Encouraged, Dean Keates’ men had a goal disallowed eight minutes before the break when Josh Ginnelly’s wonderfully inviting cross was glanced home by Cook – but from an offside position.
Walsall continued to press and spurned a glorious chance moments later.
Baldwin tried to let the ball run back to his keeper, with George Dobson nipping in to round McLaughlin but, off-balance, hit the base of the post.
But the Saddlers didn’t have to wait long to finally opening the scoring.
Cook spread the ball wide to the marauding Devlin, whose low cross was neatly tucked home by Josh Gordon for his first league goal – just 39 seconds into the second half.
Walsall doubled their lead in spectacular fashion six minutes later, Josh Ginnelly cutting inside onto his stronger right foot and unleashing an absolute rocket into the far top corner.
The visitors pulled one back just past the hour mark as Aiden McGeady lashed a right-footed drive beyond Roberts from Lynden Gooch’s left-wing cross.
A spell of Sunderland pressure followed, with a well-placed Adam Matthews mistiming a volley from Reece James’ deep cross.
The Saddlers produced a good passing move with ten to play, Ginnelly and Leahy combining well down the left, with the latter standing up a cross for Cook to head over.
Devlin then reached the byline and crossed for substitute Morgan Ferrier, who couldn’t keep his header down.
The Black Cats cranked up the pressure in the closing stages, with an unmarked Matthews seeing a header blocked on the line.
But it proved only a temporary reprieve as Sunderland equalised with a minute remaining, Gooch turning and firing a low drive across Roberts and into the far corner.
Goalscorer Gooch could have won it for the Mackems deep in added tie but his long-range strike flew narrowly over.
Saddlers (4-4-2): L Roberts; Devlin, Martin, Guthrie, Leahy; Ismail (Morris 37’), Kinsella, Dobson, Ginnelly; Cook, Gordon (Ferrier 80’).
Subs not used: Dunn, Fitzwater, Wilson, Osbourne, Ronan.
Sunderland (4-4-1-1): McLaughlin; Matthews, Flanagan, Baldwin, James; Oviedo (O’Nien 49’), Power, Honeyman, McGeady; Gooch; Maja (Maguire 61’).
Subs not used: Patterson, Loovens, Ozturk, Sinclair, Mumba.
Attendance: 7,868 (3,279 Sunderland supporters).