Reiz sensenos laikos, tālā purvā dzīvoja kašķīgs milzis - cilvēkēdājs vārdā Šreks. Viņa vientulīgo dzīvi pēkšņi satracināja uzmācīgu un kaitinošu pasaku varoņu ierašanās. Viņa ēdienā piepeši atradās akla pele, viņa gultā gulēja lielais, ļaunais vilks un trīs bezpajumtnieki sivēntiņi nedeva miera ne mirkli. Viņus visus no dzimtās karaļvalsts bija padzinis ļaunais Lords Farkvads. Lai glābtu viņu mājas, nemaz nerunājot par savām, Šreks ar ļauno Lordu noslēdza vienošanos un devās izglābt Lorda līgavu - skaisto princesi Fionu no briesmīgā pūķa liesmojošās rīkles. Šajā uzdevumā viņam līdzi devās asprātīgais ēzelītis Donkijs, kurš bija gatavs darīt visu Šreka labā, tikai ne apklust.

Pirms daudziem, daudziem gadiem, pat 20 000, mazs ugunsgrēks ar nosaukumu Scrat gribēja slēpt ozolzīli ledū. Bet tas, ko tas dara, izraisa puskatastrofu, kuras dēļ visi dzīvnieki migrē uz dienvidiem uz siltākām zemēm. Nu, ko visi saka, visi nē. Tāpēc, ka ir viens, kas ir pretējs: tas ir mamuts Manfreds, īsts vientuļš vilks, kurš lepni klīst un dodas uz ziemeļiem tikai tāpēc, ka pārējie dodas uz dienvidiem.

Fiona un Šreks atgriežas no medusmēneša. Viņus sagaida vēstule no Fionas vecākiem ar uzaicinājumu ierasties ciemos. Kopā ar pļāpīgo un brīžiem burtiski neizturamo Ēzeli jaunlaulātie dodas ceļā uz tālo karaļvalsti. Taču ne karalienei, ne karalim līdz jaunlaulāto ierašanās brīdim nav ne jausmas, kāds izskatās viņu jaunais znots un cik ļoti viņu mazā meitiņa ir... hmm... izmainījusies.

Rumpelrūķis apmāna pusmūža krīzes skarto Šreku, ļaujot izdzēst viņu no eksistences un nonākot paralēlā laika līnijā, kur valda Rumpelrūķis.

Kad Šreks apprecēja princesi Fionu, kļūt par Tāltālās karaļvalsts karali nebija viņa plānos. Bet kad viņa sievastēvs - karalis Herolds saslimst, Šreka rokās ir atrast piemērotu kandidātu karaļa tronim vai arī viņam pašam nāksies atteikties no klusās un mierīgās dzīves purvā, lai kāptu tronī. Kopā ar labākajiem draugiem - Ēzelīti un Runci Zābakos - Šreks dodas ceļā, lai uzmeklētu to, kurš, viņaprāt, būt karaļa troņa cienīgs.