Leon Draisaitl scored two goals, and Connor McDavid had two assists for the Oilers (3-6-0), who were 2-for-7 on the power play and have lost three of four. Mikko Koskinen made 23 saves.
Edmonton will host Toronto again Saturday (7 p.m. ET; NHLN, SN).
"I didn't like our first two periods at all, especially our first," McDavid said. "I thought our second period we did an all right job of just settling the game down. We found a way to hang around and I thought the third period was pretty good minus a couple of penalties and some PK goals against. Lots of power plays both ways and kind of a weird game, but I thought our game wasn't where it needed to be at all."
Spezza scored his first of the season with a backhand shot from the slot at 9:29 of the first period shortly after Koskinen turned the puck over to Travis Boyd behind the net to give the Maple Leafs a 1-0 lead.
"I think there is definitely a belief that is growing within our group," Spezza said. "I feel like we can still do better when we have leads. We've had lots of leads and given a few up but have been resilient and been gritty and find ways to win at the end.
"Winning breads confidence and we're starting to believe that we can win every night and that's a good feeling for a team, but we still feel there's a little ways to go to lock things down better. But it's definitely a step in the right direction."
William Nylander made it 2-0 at 18:22 of the first when he converted a cross-crease pass from John Tavares just as a holding penalty to Oilers forward Kyle Turris expired.
Draisaitl scored on a two-man advantage at 18:11 of the second period, one-timing a cross-ice pass from McDavid.
He tied it 2-2 at 7:00 of the third period with another power-play goal following a centering pass from McDavid.