Sophie (Amanda Seyfried) and Charlie (Christopher Egan) fall in love and share a kiss under the stars, even though he knows she's engaged. The next day, they finally find the right Lorenzo Bartolini, the long lost love of Claire (Vanessa Redgrave). He remembers her, and still has feelings for her.
Sophie leaves to go back to her fiancé, and Claire urges Charlie not to let her get away. He follows her, but when he arrives in Verona he sees Sophie embracing her fiancé, Victor. Charlie leaves without talking to her.
Later, back in New York, Sophie's editor decides to publish her story about Claire in The New Yorker. Sophie is thrilled. She also receives a wedding invitation from Claire and Lorenzo. She tells Victor the good news, but she realizes he is more passionate about his restaurant than her. They decide to break up.
In Italy, at the wedding, Sophie and Charlie meet again. She is sad because she thinks he is back with his old girlfriend. However, Charlie clears up that misunderstanding and professes his love for her--with Sophie on a balcony like in Romeo and Juliet.
They kiss as Claire and Lorenzo look on.