史莱克(麦克·梅尔斯 配音)与菲奥纳公主(卡梅隆·迪亚兹 配音)和三胞胎宝贝幸福生活在一起后,他却对日复一日的平淡生活不满起来。在一次与菲奥纳公主激烈争吵后,他遇到了魔法师侏儒怪(沃尔特·道恩 配音),并与其签订了“一天换一天”的魔法条约。但史莱克没想到,侏儒怪拿走的竟是他出生的那天,结果整个遥远王国变得面目全非,侏儒怪成了国王,派出无数女巫到处搜捕食人魔为奴。而若在日出之前史莱克无法获得菲奥纳公主的真嗳之吻,他将彻底消失。焦急的史莱克再次初遇好朋友骡子(艾迪·墨菲 配音),而靴猫剑客(安东尼奥·班德拉斯 配音)则变成了菲奥纳公主的宠物肥猫。在他们的帮助下,史莱克竭尽全力赢取菲奥纳公主的芳心,只可惜事态发展远不如想象顺利……哥。这次他好像要输了,我们要不要救他一把?如果我们救了他,他应该会很感激我们,进而和我们成为朋友吧?