Geliefden Neil (Ben Affleck) en Marina (Olga Kurylenko) hebben zich teruggetrokken op een Frans eiland waar ze genieten van elkaar en hun ongelukkige verleden achter zich proberen te laten. Neil denkt met Marina de vrouw van zijn dromen te hebben gevonden, en belooft haar eeuwige trouw. Als twee jaar later de liefde wat verwatert, ontmoet Neil zijn oude vlam Jane (Rachel McAdams). De twee worden hopeloos verliefd en dat brengt Neil in een lastige positie. Marina twijfelt ondertussen aan haar liefde voor Neil en vraagt priester Father Quintana (Javier Bardem) om advies. Father Quintana is zelf in conflict met zijn geloofsovertuiging, hij voelt niet meer de toewijding die hij in de begindagen had. Neil’s tweestrijd met de twee vrouwen en Father Quintana’s strubbelingen met het geloof zorgen ervoor dat beide met verschillende vormen van liefde leven.