Häbelik (ja sobiva nimega) Kokutis on teismeline viiking, kes ei kuulukski nagu oma perekonda, mis koosneb eranditult kangelaslikest lohetapjatest. Kokutise maailm pööratakse pea peale pärast seda, kui ta kohtab noorukest lohet, kes paneb poisi ümbritsevat maailma täiesti uue nurga alt vaatama.

Film jutustab rohelisest sookollist Shrekist, kes on harjunud elama üksinda soo peal. Aga Shreki rahu saab rikutud muinasjuttude tegelastega, keda Duloci valitseja Lord Farquaad sunnib soo peale kolima.

Mesinädalatelt naasnud Shrek ja Fiona saavad Fiona vanematelt, Kauge Kauge Kuningalt ja Kuningannalt, küllakutse tähistamaks tütre abielu. Kohalejõudes näevad aga Fiona vanemad, et nende väimees pole kaugeltki see, keda nad oleks oodanud…

Zoe on väike tüdruk, kes usub muinasjuttudesse. Mitte sellepärast, et ta oleks naiivne, talle lihtsalt meeldivad muinasjutud. Selleks, et aidata oma onul lord Arnoldil vabaneda koletislikust draakonist, otsustab Zoe leida kuskilt mõne muinasjutulise kangelase, kes selle raske ülesandega toime tuleks. Paraku kohtab tüdrukutirts õilsate rüütlite asemel kaht pisisulist draakonikütti, kel nimeks Gwizdo ja Lian-Chu. Aga Zoe ei lase end pisivigadest häirida ja otsustab, et tema usub nendesse ikkagi!

Fionaga abielludes polnud Shrekil aimugi, et seetõttu peab ta ühel päeval võibolla kuningaks hakkama. Kui Shreki äiapapa, kuningas Harold korraga lahkub, ootab teda just see au. Välja arvatud juhul, kui Shrek (koos oma ustavate kaaslaste Eesli ja Saabastega Kassiga) leiaks enda asemele sobiva kuninga. Kõige lubavam kandidaat oleks Fiona nõbu Artie, keskkoolis õppiv ebakuninglik hädavares, kellest väärilise troonipärija kasvatamine näib olevat üks raskemaid ülesandeid, millega Shrek ja sõbrad eales silmitsi seisnud on.