Walman, who was making his season debut after missing six games with an undisclosed injury, beat Senators goaltender Linus Ullmark over the glove with a slap shot from the top of the slot in the last seconds of a 4-on-3 power play.
Isaac Howard scored his first NHL goal and Connor McDavid had a goal for the Oilers (3-3-1), who had lost three straight. Stuart Skinner made 18 saves for his 100th NHL win.
Dylan Cozens and Thomas Chabot scored, and Ullmark made 21 saves for the Senators (2-4-1), who entered the third period down 2-0.
Adam Henrique had two shots in 13:17 of ice time in his 1,000th career NHL game. He is the first player to appear with Edmonton during the milestone.
McDavid gave the Oilers a 1-0 lead at 16:31 of the first period when he one-timed a centering pass from Ryan Nugent-Hopkins on a power play. It was his first goal in seven games this season.
Howard, fresh out of the penalty box, put a one-timer five-hole on Ullmark to make it 2-0 at 0:49 of the second period.
Cozens cut it to 2-1 at 0:13 of the third period when he beat Skinner blocker side with a wrist shot from the slot on a power play.
Chabot’s point shot made it through the crowd in front and past a heavily screened Skinner to tie it 2-2 at 1:49 and ultimately send the game to overtime.