When King Harold (John Cleese) suddenly "croaks", Shrek (Mike Myers) is left with the duty and responsibilities of running Far, Far Away as the new King. But Shrek doesn't feel like he is the right guy for the job. The only solution is having someone else take the throne. So Shrek, along with Donkey (Eddie Murphy) and Puss in Boots (Antonio Banderas), goes on a search for a rebellious Arthur (Justin Timberlake), who is the only remaining heir aside from Shrek. Little does he know is that his old enemy, the ruthless Prince Charming (Rupert Everett), is plotting to take over the kingdom with an army of fairy-tale villains at his command. Only Fiona (Cameron Diaz) and a posse of Princesses are left to defend the kingdom from Charming's wrath.