Шрэк просыпается в хижине, обнаруживает, что стал человеком. Фиона в ужасе: «Ты… обычный?» Оказывается, Румпельштильцхен заключил сделку – забрал прошлое огров, взамен сделал Шрэка знаменитым. Теперь он звезда турниров, но без друзей. Осёл и Кот в сапогах его не узнают. В таверне пьяный гном бормочет: «Договор – закон». Шрэк находит Румпельштильцхена в ледяной пещере, разбивает зеркало с контрактом. Вспышка – он снова огр. Фиона обнимает его: «Вонючий и любимый». Осёл хохочет: «Ну и рожа!»
После свадьбы Шрэк и Фиона отправляются в Далекую-Далекую Страну. Король Гарольд, её отец, недоволен зятем-огром. Он нанимает Кота в сапогах убить Шрэка, но кот проигрывает. Гарольд договаривается с крестной феей: её сын Принц Чарминг должен жениться на Фионе. Фея подмешивает зелье – если Фиона не поцелует Чарминга до полуночи, она навсегда останется огрихой. Шрэк, Осёл и Кот крадут противоядие у Молочного Человечка. Фиона целует Шрэка, превращаясь обратно в огра, и разбивает зеркало феи.
Эллиот, неуклюжий олень, и его друзья — белка Будди, утка Дак и медведь Буг — случайно оказываются в зоопарке. Эллиот пытается произвести впечатление на олениху Джизель, но всё идёт наперекосяк. Будди ворует попкорн у посетителей, Дак паникует из-за закрытых вольеров, а Буг мечтает о бутербродах с арахисовым маслом. В итоге они решают сбежать, используя самодельный катапульт из веток и резиновых шин. "Ты уверен, что это сработает?" — спрашивает Дак. "Нет," — отвечает Эллиот,
Шрэк, зелёный огр, живёт в болоте, пока его покой не нарушают сказочные существа, изгнанные лордом Фаркуадом. Шрэк отправляется к Фаркуаду в Дюлок, чтобы вернуть своё болото. Вместе с говорящим Ослом он соглашается спасти принцессу Фиону из замка, охраняемого драконом. По пути Шрэк и Фиона сближаются, но её секрет — ночью она превращается в огра — раскрывается. Фаркуад хочет жениться на Фионе, но Шрэк вмешивается. В итоге Фиона остаётся огром, а Шрэк обретает семью.
Шрэк, уставший от размеренной жизни с Фионой и детьми, заключает сделку с Румпельштильцхеном. Тот даёт ему один день в роли страшного огра, но взамен забирает день их знакомства с Фионой. Шрэк оказывается в альтернативной реальности: Фиона его не знает, Дульок стал королём, а Осёл работает на ярмарке. Шрэк пытается вернуть всё обратно, но Румпельштильцхен требует подписать контракт навсегда. В финале Шрэк и Фиона целуются, разрушая чары, и мир возвращается к норме.
Шрек, Фиона и Осёл празднуют день рождения в болоте. Внезапно появляется Румпельштильцхен и предлагает сделку: один день из прошлого в обмен на «самый счастливый день» Шрека. Герои соглашаются, не читая мелкий шрифт. Оказывается, они никогда не встречались – Шрек остался угрюмым одиночкой, Фиона заточена в башне, а Осёл работает у Драконихи. Чтобы вернуть реальность, тройка должна поцеловаться до заката. Погони, драки, неудачные попытки – успевают в последний момент.