Theresa Osborne (Robin Wright Penn) is a successful journalist who discovers a bottle washed up upon the shore. The bottle contains a heartfelt love letter to an unknown woman called Catherine and signed 'G'. Theresa publishes the letter in the Chicago Tribune, and it transpires that other letters have been found, presumably by the same author. When Theresa investigates further, she tracks down the writer of the letters, a sailboat builder named Garret Blake (Kevin Costner), whose wife died two years ago during childbirth. A tentative romance develops between Garret and Theresa, but he remains unaware that she knows of the lost letters and that she was the journalist who published them.