Timid accountant Jonathan McQuarry (Ewan McGregor) is an auditor working in New York. One night while working late in a boardroom he meets a charismatic lawyer, Wyatt Bose (Hugh Jackman), who befriends him over a joint. After a long conversation, Jonathan takes the subway home where he has a brief encounter with a blonde woman (Michelle Williams) while waiting for the train. Upon returning home he notices a pipe in his bedroom is leaking and leaving a stain.
Jonathan contacts Wyatt the next day and they play tennis after work. They meet again for lunch the next day and upon leaving, Wyatt takes Jonathan’s mobile phone instead of his own, forcing a trade. He mentions he will be in London on business for the next few weeks. When Jonathan realizes the phones have been switched he attempts to contact Wyatt but does not reach him. He is soon contacted by a woman (Natasha Henstridge) who asks if he is free that night. He informs her that he is and agrees to meet her. When she arrives, they proceed directly to a hotel room upstairs and have sex. In the morning, Jonathan realizes that Wyatt must be on some type of exclusive sex club list.
When Wyatt calls the next day, he encourages Jonathan to stay on the list. Jonathan has an encounter with an older woman (Charlotte Rampling) who explains the list’s rules: the initiator pays for the room, no names are exchanged, there is no rough play. Participants are always anonymous, although Jonathan later spots the older woman on the cover of Forbes. Over the next few weeks, he has anonymous encounters with several women.
One night after initiating another encounter, Jonathan is surprised to find that his partner is the blond woman he met while waiting for the train. He tells her that they have met once before, and instead of having sex, they order room service and talk for hours. The woman does not say her name, but Jonathan assumes that it begins with an “S” because of an S-shaped pendant on her handbag. The next day Jonathan rejects other callers from the list but when “S” calls again they agree to meet for dinner in Chinatown. They then proceed to a hotel where she requests some ice. When Jonathan returns to the room, she is gone and there is blood on the bedsheets. Someone knocks him out from behind, and when he wakes up again the bed has been made. He contacts the police and explains to the Detective (Lisa Gay Hamilton) that “S” is missing but that he has little to no information about her. She doubts his story, thinking that he is delusional. Jonathan tries to trace Wyatt, but Wyatt’s boss and landlady claim not to know him.
Upon returning home Jonathan is surprised to find Wyatt waiting for him and demanding that he steal $20 million from an investment firm he will begin to audit in a few days. Jonathan agrees to do so, fearing for the safety of “S”. The following night at work, Jonathan receives a call asking if he is free. The woman calling is named Tina (Maggie Q), an investment banker who once introduced Wyatt to the exclusive sex club list. She reveals that Wyatt’s real name is Jamie Getz, and that they met when he was attending a private corporate event as a guest of Rudolph Holloway, an investment banker with whom Getz played tennis. Jonathan finds out through research that Getz murdered Holloway, strangling him with tennis strings, and also served three years in prison for insurance fraud and arson. Jonathan is later notified by the detective that a blond woman matching his earlier description was discovered dead. When he comes in to identify her, he sees that it is actually the first woman who called him, and that she was also strangled by tennis strings.
Jonathan goes on to complete a wire transfer to a bank in Spain in his name, but secretly adds Wyatt’s name as co-signer. When he returns home he notices that a picture Wyatt had sent of “S” being held captive was taken in his apartment before the pipe started leaking. He realizes that she must have been a conspirator and wisely avoids his apartment, which explodes when the superintendent enters to fix the pipe.
Now in Madrid, Wyatt impersonates Jonathan and attempts to withdraw the funds from the bank, but he is denied access because of the co-signer. Jonathan approaches Wyatt outside the bank and agrees to help him withdraw the funds if Wyatt splits it with him. Swapping identities, Jonathan and Wyatt cash in the $20 million in two $10 million suitcases. (A deleted scene reveals that Jonathan encountered a black market operator in Chinatown, who offered a variety of items, including fake passports; Jonathan presumably obtained a passport with his image in the name of Wyatt Bose and used this in his scheme to obtain half of the money.) After the transaction is complete, Jonathan offers Wyatt half of his money if Wyatt tells him where “S” is. Wyatt pretends to agree and lures Jonathan to an uncrowded area where he draws a gun on Jonathan. Before he is able to shoot Jonathan, Wyatt is shot by “S” who leaves quickly. Jonathan pursues her, leaving a dying Wyatt and the money behind. He begs her to talk to him but she’d rather call it off, apologizing to him as she did not know Wyatt’s intent to kill Jonathan. “S” gets into a cab and leaves as Jonathan watches her go.