Alex Pietrangelo had a goal and an assist, and Marc-Andre Fleury made 28 saves for his 100th win with the Golden Knights (12-4-1), who have won two straight following their only two-game losing streak of the season.
Rickard Rakell had a goal and an assist, and John Gibson made 24 saves for the Ducks (6-10-5), who are 0-4-2 in the past six games.
"That's some steep competition over there," Anaheim coach Dallas Eakins said of Vegas.
Karlsson scored his game-winner on a breakaway off a pass from Shea Theodore.
Karlsson and Theodore each was drafted by the Ducks and made his NHL debut with them.
"Me and Theo always say before the games, 'These guys didn't want us,' so there's always some added motivation for these games," Karlsson said.
Adam Henrique, who was in the Anaheim lineup for the first time since he was waived Feb. 20 and went unclaimed, poked in a loose puck in the crease to tie the game 2-2 at 11:05 of the third period.
Vegas challenged for a missed stoppage because Rakell appeared to touch the puck with a high stick just before the goal, but the goal was upheld by video review.
"We felt that was a high stick," Theodore said. "That's the way it's going to go the rest of the year. I think you're going to have bounces here and there that sometimes you get and sometimes you don't."
Henrique, who led the Ducks in goals (26) and points (43) last season, said he was pleased with his performance. He also won 11 of 12 face-offs (92 percent).
"I put it on myself to play well," Henrique said. "Everything else is out of my hands, so I just focused on my game, what I needed to do."