Le film "Mamma Mia!" de Phyllida Lloyd se déroule sur l'île grecque fictive de Kalokairi. Alors que Donna (Meryl Streep) gère tant bien que mal un petit hôtel, sa fille de 20 ans, Sophie (Amanda Seyfried), est sur le point de se marier.
Quelques jours avant l'événement, la jeune femme avoue à ses meilleures amies qu’elle a secrètement invité trois hommes susceptibles d’être son père, qu’elle n’a jamais connu. Sophie a retrouvé le journal intime de sa mère, a fait ses calculs, et a trouvé trois candidats potentiels: Sam Carmichael (Pierce Brosnan), un architecte irlando-américain, Bill Anderson (Stellan Skarsgård), un aventurier et écrivain suédois et Harry Bright (Colin Firth), un banquier anglais.
La jeune femme est persuadée qu’en voyant les trois hommes, elle saura immédiatement lequel est son vrai père et qu’il acceptera de l'accompagner à l’église.
Les trois hommes acceptent l'invitation et se retrouvent sur l’île. Mais lorsque Donna, qui n'était pas au courant de leur venue, voit ses trois ex-amants, elle est contrariée et leur demande de quitter l’île. Elle avoue par la suite à ses deux amies de toujours, venues également pour le mariage, qu’elle ne sait pas non plus lequel est le père...
Sur le principe de la comédie musicale, qualifié ici de "juke-box" puisqu'elle reprend, sans les changer, des chansons existantes, on s’explique en chantant et en dansant, et tout finit par être pour le mieux dans le meilleur des mondes.
Si l'intrigue est classique et sans grande surprise, c'est surtout grâce à la vingtaine de chansons du groupe suédois ABBA qui servent de trame au récit - dont l'une donne son titre au film - que "Mamma Mia!" va connaître le succès.