Teemu Selanne had a goal and an assist and Jean-Sebastian Giguere made 30 saves in the Ducks' second consecutive win after a three-game skid.
Anze Kopitar posted a goal and an assist and Mathieu Garon ended with 32 saves for the Kings, who have dropped four of their last five and 13 of 16.
Down a goal late in the third period, Kopitar scored off a feed from Lubomir Visnovsky to make it 2-2 with 5:14 remaining.
Kopitar's penalty gave the Ducks a power play that carried over into overtime, but Garon held the Kings back.
After a scoreless five minutes, the teams went into shootout mode.
Tom Kostopoulos came up empty and Andy McDonald fanned on a wide-open net. Giguere staved off Dustin Brown while Chris Kunitz and Alexander Frolov came up empty as well, and finally, Perry beat Garon for the Ducks' victory.
The teams meet again Sunday in Anaheim.