Therapist Tess Parker (JoBeth Williams) meets Paul Tomlinson (Pierce Brosnan), an English professor she's wacky over, and he's also a guy that is too good to be true.
Her patient Carla (Virginia Madsen), comes to Tess to tell her about her former lover who wanted to marry her but needed some time after his wife's death, even though they started going out when he was still married. But after a year he left and never came back, only to tell her that he was with someone else. Tess tries to comfort Carla after she thought Carla was going to jump off the edge of a building. The descriptions Carla gives Tess of her former lover seem somewhat familiar, but not until the time Carla shows Tess book written by her former lover, that Tess realizes Carla is talking about Paul.
Tess eventually confronts Paul about this and he says that he knew her as a librarian, and the time Tess saw him hug her was to thank her for getting a 'hard to find' book for him. He says he had no relationship with her at all except sending her flowers to thank her for all her help with the book, and that he was not sleeping with her. Tess, believes him and they have a lovely, little snog. Carla shouts at Tess and drives away. Paul tells Carla to let her go.
The next day, Tess goes to Carla's apartment, finding the door open and Carla gone. Tess searches Carla's apartment finding an explicit love letter to Carla signed by Paul, which she takes. In the morning she is confronted at home by Carla who warns Tess that Paul killed his wife, and that he'd kill again.
Tess asks Paul about the letter and he says it is a missing letter he wrote to his wife. Tess asks Paul how his wife died, and Paul says she died in a hiking accident in the mountains. They had just had an argument and he went back to the cabin, so he wasn't there. The rangers said it looked like she slipped. Tess tell Paul that Carla said he killed his wife. He said they weren't the perfect couple by any means, but he loved her.
They go to Carla's place and find it in disarray, with blood in the kitchen. Paul send Tess away, while he calls the police.
At Paul's place, while he is showering, Tess is locked in a room with a burning chair. After Paul rescues Tess, the police find and question Carla, but lacking evidence they release her.
Tess and Paul go to Paul's mountain cabin where it is snowing there. Paul puts a ring on her finger. It is the same ring as Carla said Paul had made especially for her. This was enough to start Tess believing that it is Paul who is lying, and that it is Carla all along who spoke the truth. While Paul is in another room, Tess sneaks out of the cabin, running into Carla who says she came to save Tess, and that they would have escape on foot because the roads were covered with ice. When Paul realises Tess is gone, he goes in search of her, following the footprints in the snow. When Paul catches up to Tess and Carla there is a confrontation, in which it is revealed the ring Carla has from Paul is actually the ring worn by Paul's deceased wife. The only way for Carla to have it, is for Carla to have taken it from her when Carla killed her. There is a fight in which Carla falls to her death.
The next day Paul and Tess are leaving the mountain cabin. Tess gets into the car first, and looking for a map, she finds two identical rings, the same as she had been given from Paul and the same as his wife had been given from him. We see her shocked. The film ends with the camera zooming out on Paul getting into the car.