Egy titokzatos csokoládébolt megnyitása valóságos háborút robbant ki a francia kisvárosban, Lansquenet-ben. Itt ugyanis úgy tűnik, mintha száz éve semmi sem változott volna. Az üdítő fuvallatot Vianne Rocher érkezése hozza meg: a lányával céltalanul utazgató asszony csokoládéboltot nyit Lansquenet-ben, amely édes ínyencségeivel felszabadítja a helybeliek rejtett vágyait. Ám Reynaud grófja meggyőződéssel vallja, hogy Vianne csokoládékülönlegességei erkölcsi romlásba taszítják a várost. Ellenségeskedésük egészen addig megosztja a kisváros lakóit, míg kis híján tragédia történik.

Nem mindenki akar király lenni - és ez különösen igaz behemót, mocsárbűzös ogrékra. Az öreg Harold király váratlanul megbetegszik és Shreket tekinti a trón várományosának. A birodalom húzódozó jövendő királya vagy talál maga helyett valaki mást a munkára, vagy élete hátralévő részét uralkodással kell töltenie. Mintha ez még nem volna elég, Fiona hercegnő is tartogat egy kis meglepetést Shrek számára. Shrek bepánikol az ország kormányzásával és az apasággal járó felelősségtől és elhatározza, hogy felkutatja az egyetlen személyt, aki rajta kívül elfoglalhatja a trónt. Ő nem más, mint Fiona rég elveszett unokaöccse, Artie, egy középkori iskolakerülő. Amíg az ogre távol van, esküdt ellensége, a Szőke Herceg visszatér Túl az Óperenciánba, hogy elégtételt vegyen az őt ért sérelmekért. Shrek és Artie csak a szószátyár Szamár, a csalafinta Csizmás Kandúr és Fiona barátnői segítségével tudják legyőzni, hogy a film végére megint mindenki boldogan éljen.