Shrek gjør alt han kan for å få Fiona til å bli forelsket i ham, men hun er for opptatt med å forberede et bakholdsangrep på Rumleskaft. Shrek blir etter hvert motløs, men Pus med Støvler oppfordrer ham til å fortsette å følge Fiona. Under et bakhold, blir trollene fanget av Rumleskaft og hans menn, men Shrek og Fiona flykter. Shrek insisterer at Fiona må kysse ham, og han sier dette vil fikse alt, men fordi Fiona ikke elsker ham er kysset ineffektiv. Rumleskaft sier at den som fanger Shrek kan få oppfylt et hvilket som helst ønske, og Shrek velger å overgi seg i bytte mot at "alle troll" blir satt fri fra fangenskap.