Tom Sherbourne (Michael Fassbender) is a lighthouse keeper living with his wife Isabel (Alicia Vikander) on a picturesque beach off the coast of Australia. They are deeply in love and perfectly content with their simple life together — until one day they find an abandoned baby girl in a boat on a shore just beyond their home. Initially shocked, Tom and Isabel grow to love the little girl unconditionally. They decide to raise her as their own child. As their daughter grows, they find themselves more contented than they ever thought possible. Life is now truly perfect.
At a social event they meet Hannah Roennfeldt (Rachel Weisz), a deeply sad widow who lost her husband and daughter at sea — around the exact same time they found their little girl. As the pieces slowly fall together, Tom is increasingly guilt-ridden at keeping the child from her real mother. However, Isabel cannot accept the truth and refuses to hand her daughter over. The couple must now reconcile their new, ugly reality with their once-perfect life, and make the hard decision between what feels good and what is right.