Carlo made it 3-2 at 11:15 of the second period when his point shot hit Gibson in the torso and slipped through his pads.
Gibson made a left pad save on Foligno at 15:51 of the second to keep it a one-goal game, but David Pastrnak tied it 3-3 at 1:52 of the third when his slap shot went off the skates of two Anaheim players and into the net.
"There's nothing you can do about that, so there's no use hanging our heads," Ducks coach Dallas Eakins said of the deflections. "We're in an even game, so let's keep going."
Ullmark came up with his biggest save on Henrique with 1:09 left in third, but Getzlaf drew the penalty on McAvoy 23 seconds later.
"I was pumped," Zegras said of the upcoming power play. "Big on 'Getzy' to obviously draw that penalty late in the game. He's our leader, he's our captain. We all look to him for pretty much everything."
NOTES: Carlo recorded his first multipoint game of the season and fourth in the NHL. ... Zegras has scored 41 points (14 goals, 27 assists) in 50 games this season. Bobby Ryan is the only Ducks rookie to reach 40 points in fewer games (46, 2008-09). ... Henrique, who missed the 4-0 loss to the visiting New York Islanders on Sunday because of an illness, has a season-high five-game personal point streak (four goals, two assists) ... Rakell has scored seven goals in his past 10 games.