Foegele redirected a pass from Darnell Nurse into the net six seconds after an Edmonton power play ended to make it 4-1 at 4:16.
Foegele scored again at 11:43 off a feed from behind the net from McLeod to make it 5-1.
Vatrano scored for the third straight game on a wrist shot from the slot to cut it to 5-2 at 4:49 of the third period, his 17th of the season.
Zach Hyman scored off a feed from Connor McDavid to make it 6-2 at 8:49.
Brett Kulak scored at 15:49 for the 7-2 final.
"It was a high-event game," Edmonton coach Kris Knoblauch said. "I thought there were a lot of chances, both sides. I liked what we did offensively. We did make mistakes, (but) 'Picks' played really well. He made some really key saves, a lot of almost for-sure goals that were taken away. That's good reaction, good compete by him not giving up."
NOTES: Foegele is the first Edmonton player with five even-strength points in a game since Sam Gagner in an 8-4 win against the Chicago Blackhawks on Feb 2, 2012. ... Edmonton went 4-0 on their first two two back-to-back sets of the season during the six-game trip. ... The Oilers lead the NHL with 12 goals in the first 5 minutes of a game. ... Ducks forward Brock McGinn returned after missing the past three games for the birth of his child and appeared in his 500th NHL game. ... Gudas returned after missing the previous three games with an ankle injury and assisted on Vatrano's goal. ... Ducks forward Troy Terry sat out with an upper-body injury sustained when he collided with teammate Mason McTavish in the third period of a 2-0 loss to the Arizona Coyotes on Friday. He's day to day.