Justin Peters stopped the three Carolina shootout attempts after making 35 saves during regulation and overtime. It was just the sixth appearance of the season for Peters, who evened his record at 3-3.
The Ducks never led during regulation, falling behind on a backhander by Jerome Samson with 6:08 left in the first period. Luca Sbisa tied it less than a minute later.
Jamie McBain put Carolina back in front on the power play early in the second and Corey Perry created a 2-2 tie midway through the third with his 30th goal of the season.
Jonas Hiller made 30 saves before giving up the shootout goal to Koivu.