After their honeymoon, Fiona asks Shrek to go with her to see her parents. At first, Shrek isn't sure if it's a good idea. But, whether he likes it or not, he is soon persuaded by Fiona to go to the kingdom of Far Far Away. Donkey asks/decides that he'll come along, and soon enough the three are on their way.
Once they reach the palace, Shrek and the King (Cleese) clash immediately. King soon takes matters in his own hands when he hires Puss In Boots (Banderas)to "get rid" of Shrek. In the meantime, Shrek and Donkey don't seem to be getting along so well. Puss fails, and becomes Shrek's new friend. Donkey gets jealous, but sticks with Shrek nonetheless.
The three then steal a potion from the potion factory to make Shrek and Fiona's marriage go on forever so that they can live happily ever after. Donkey tests the potion and then Shrek drinks it. The next day, Shrek wakes up to be human, and Donkey a stallion. The potion also affects Fiona, however, and she becomes her once beautiful self.
Seeing this as an excellent opportunity to get her son, Prince Charming, with Fiona, Fairy Godmother gives King a love potion. She tells King that the love potion is to be poured into a drink, then drinken by Fiona. The first man Fiona kisses at the Royal Celebration Ball, becomes her new love. King feels guilty and secretly puts the love potion into his drink, which is later on discovered.
Meanwhile, Shrek, Puss, and Donkey catch up with their old buddies after being arrested. Their friends free them and take them to see the Muffin Man. The Muffin Man builds a big gingerbread man to crash through the gates of the palace during the Royal Celebration Ball, giving Shrek a chance to see Fiona again.
Shrek makes it in time, but the giant gingerbread man falls apart. After Fiona kisses Prince Charming, Fairy Godmother realizes that King drank the love potion himself (because Fiona knocks out Prince Charming). Shrek and Fiona then turn back into ogres and leave Far Far Away, after forgiving King.