The Fairy Godmother (voiced by Jennifer Saunders) is blackmailing King Harold (John Cleese): she wants her son, Prince Charming (Rupert Everett), not Shrek (Mike Myers), to marry Harold's daughter, Princess Fiona (Cameron Diaz). Magic turns Shrek into a good-looking human and Fiona into her old beautiful self, but the Fairy Godmother keeps Shrek out of the castle, and Charming impersonates the changed Shrek, hoping to trick Fiona into loving him. Shrek finally gets into the big castle gathering, aided by Donkey (Eddie Murphy), turned by the same magic into a white stallion; Puss-In-Boots (Antonio Banderas); and various fairy-tale friends from the first movie. The Fairy Godmother aims a magic bolt at Shrek, but King Harold jumps in front of the blast -- and turns (back) into a frog! The Fairy Godmother and Charming are defeated, and Shrek offers to leave his ogreness behind forever: if he kisses Fiona before midnight (seconds away), they'll stay beautiful forever. Fiona declines, saying she wants the ogre she fell in love with back in the first movie. Midnight arrives: Shrek and Fiona become their familiar green selves; Queen Lilian (Julie Andrews) assures King Harold the frog that she loves him, warts and all; and Donkey's transformation from proud stallion back to himself is tempered by the arrival of his wife, the Dragon--and their new mutant donkey/dragon babies!
Thanks, David D!