Jednak Shrek i Osioł pokonują wszystkich rycerzy, przez co Farquaad ogłasza Shreka zwycięzcą turnieju i obiecuje ogrowi przekazanie ziemi w zamian za uratowanie Fiony.

Shrek i Osioł docierają do zamku, gdzie zostają zaatakowani przez Smoczycę. Shrek w stroju rycerza ratuje Fionę, która jest zszokowana jego brakiem odwzajemnienia romantycznych uczuć. Osioł porwany przez Smoczycę, która się w nim zakochała, również zostaje uratowany przez Shreka. Po ucieczce z zamku, Shrek zdejmuje swój rycerski hełm, przy czym wyjawia Fionie, że jest ogrem, przez co Fiona odmawia pójścia do Duloc domagając się, by Farquaad sam ją uratował. Jednakże Shrek zabiera ją wbrew jej woli. Podczas nocnego postoju Shrek wyjawia Osłu, że jego aspołeczność wynika z odrzucenia go przez innych przez bycie ogrem. Fiona, będąc w jaskini, słysząc to staje się milsza wobec Shreka. Podczas podróży bohaterowie zostają zaatakowani przez Robin Hooda i jego kompanię, jednak zostają pokonani przez Fionę budząc podziw u Shreka.