Mamma mia! è stato girato in Grecia, per quanto riguarda le scene in esterna, nella piccola isola di Skopelos, in Tessaglia e nella frazione balneare di Damouchari, nella zona di Pelion, che è diventata Kalokairi nel film. La villa di Donna, invece, è stata ricreata interamente ai Pinewood Studios di Londra, dove sono state girate la maggior parte delle scene del film. In particolare, la spiaggia di Kastani a Skopelos, sulla costa sud-occidentale, è stata la location principale del film del 2008 con Meryl Streep, Amanda Seyfried, Pierce Brosnan, Stellan Skarsgård, Colin Firth.

La location principale del film è stata Kastani Beach, nella parte occidentale di Skopelos. Questa baia incontaminata del Mediterraneo è stata ulteriormente allestita per il film, con l’aggiunta di un molo e di un bar sulla spiaggia. In particolare, riconoscerete Kastani Beach per due scene iconiche: quando Sophie (Amanda Seyfried) e il suo fidanzato Sky (Dominic Cooper) si scatenano sulle note di “Lay All Your Love On Me”, affiancati dai testimoni di nozze di Sky che emergono dal mare, e l’esibizione di Tanya (Christine Baranski) sulle note di “Does Your Mother Know”.

Le scene a Villa Donna, l’hotel di proprietà di Donna (Meryl Streep) al centro dell’azione, sono state girate interamente nei Pinewood Studios nel Regno Unito, con vista su Glysteri, sulla costa orientale dell’isola. È anche il luogo in cui si trova la scogliera da cui Sophie e i suoi tre potenziali padri si raccontano delle esperienze passate durante il numero “Our Last Summer”.

Il luogo della cerimonia di matrimonio tra Sophie e Sky è la sorprendente cappella di Agios Ioannis, uno dei 360 luoghi di culto stimati su quest’isola di modeste dimensioni (si suppone che questa sovrabbondanza sia dovuta alla gratitudine degli isolani del XVII secolo risparmiati dalle devastazioni del pirata Barbarossa). Situato sulla cima di una roccia di 100 metri vicino alla città di Glossa, nel nord dell’isola, ha tutti i 202 gradini che vediamo sullo schermo, ma poco altro è come sembra.
L’interno della cappella, che in realtà ospita circa 10 fedeli, è stato infatti costruito a Pinewood a imitazione di un’altra chiesa locale, Panayitsa tou Pirgou presso il porto di Skopelos. La vista è comunque spettacolare, così come il sentiero costiero dove, poco prima di salire alla chiesa, Donna canta “The Winner Takes It All” a un fiducioso Sam (Pierce Brosnan).

Un altro luogo memorabile del film è Amarantos, sulla costa meridionale, il promontorio con due alberi solitari dove Sophie legge il diario della madre e canta “Honey Honey” con le due damigelle d’onore. Come molte scene del film, però, anche questa combina inquadrature di diversi punti di vista. Nella scena iniziale del film, in cui Sophie invia lettere ai suoi padri cantando “I Have A Dream”, le inquadrature del villaggio di Skopelos si mescolano con altre della torre di Agios Nikolaos sulla vicina isola di Skiathos.

Sede dell’aeroporto più vicino, da cui è possibile prendere un traghetto per Skopelos, Skiathos è anche il porto in cui i tre padri si incontrano nel tentativo di raggiungere Kalokairi. Le riprese si sono svolte anche più lontano, a Damouchari, vicino a Volos, sulla costa orientale della Grecia continentale. Il molo di questo piccolo villaggio ha fatto da sfondo a molte scene di Mamma Mia!, a partire dall’arrivo di Tanya e Rosie (Julie Walters) e la favolosa squenza di di “Dancing Queen”, in cui Donna si tuffa in mare dopo aver percorso tutto il sentiero che dalla villa porta alla spiaggia – in realtà spostandosi da Pinewood a Glysteri su Skopelos e poi sulla terraferma.
