Mladá dvacetiletá dívka Sophie (Amanda Seyfriedová), zjistí z deníku své matky Donny (Meryl Streep), že má hned tři adepty na otce a jelikož se blíží její svatba, tak pozve všechny tři. Jenže Donna samozřejmě nic netuší.
Sophie s Donnou vlastní hotýlek na řeckém ostrově, o který se celý život starají. Za Sophií přicestují dvě kamarádky, které jí jdou za družičky a za Donnou také dvě kamarádky z její dívčí kapely Donna a Dynama. Když dojedou z přístavu do hotelu, představí jim Donna Sophiina budoucího manžela, který je na ně milý a ochotně jim pomůže se zavazadly.
V tu samou dobu přijíždí na ostrov oni tři adepti na otce. Harry (Colin Firth), Bill (Stellan Skarsgård) a Sam (Pierce Brosnan). Sophie nechce, aby je matka viděla, a tak je podzemím zavede do jejich pokoje v kozím chlívku. Donna něco nese do seníku a nahoře něco zaslechne. Jde se podívat a tam je uvidí všechny tři. Nakonec se do chlívku propadne a všechny je pošle domů.
Donna si stěžuje svým kamarádkám, že na ostrově jsou všichni tři a ty se ji snaží utišit písněmi a jinými lumpárnami. Den před svatbou uspořádají Sophie rozlučku se svobodou, kde vystoupí jako Donna a Dynama. Na večírku si každý ze tří adeptů uvědomí, že je možná její otec a chtějí ji vést k oltáři. Donna na druhý den připraví Sophii na svatbu a vše další, co je potřeba. Ale jak to tak bývá, vše dopadne úplně jinak, než to mělo být. Donna si uvědomí, že bez lásky nemůže být a že celou tu dobu myslela na otce své dcery Sama. Sophie se na poslední chvíli rozhodne, že svatba nebude, ale Sam se odhodlá k nečekanému kroku – požádá Donnu o ruku. Donna je šťastná a hned řekne ano. Takže všichni nakonec nalezli svou lásku, dokonce i Donniny kamarádky. Každý z otců má třetinu Sophie. Kdo je její otec, se ale nezjistí.