I 1972 reiser 25 år gamle Julia (spilt av Kate Winslet) til Marokko sammen med sine døtre, seks år gamle Lucy og åtte år gamle Bea. Trioen bor ved et hotell i Marrakech. Døtrenes far, en poet fra London har også et barn sammen med en annen kvinne. Julia møter etter hvert en marokkansk akrobat og svindler Bilal. Etter hvert flytter han inn hos dem, og fungerer som en slags farsfigur for jentene. Julias venn Eva oppfordrer Julia til å studere i Alger med en ærverdig sufi-mester ved en skole. På et tidspunkt får Bea en streptokokk-infeksjon, og han dør nesten.