Alex Gates (Jack Nicholson) is a wine merchant living in Miami who has distanced himself from his alcoholic wife Suzanne (Judy Davis) with his philandering, and from his stepson Jason (Stephen Dorff) with his indifference. Alex is heavily in debt, and hatches a plan to steal a valuable diamond necklace from the house of his clients, the Reese family, where his Cuban mistress Gabriela (Jennifer Lopez) works. He cases the house during a wine delivery with Jason, who works in Alex's business, although not happily. Jason becomes attracted to Gabriela, unaware of her relationship with his father.
On the day of the heist, Alex and his safe-cracker partner Victor (Michael Caine) arrive at the house under the pretense that the Reeses' wine cellar needs repairs, otherwise their wine will be ruined. Gabriela was supposed to let them in, but she was fired the day before. Fortunately, Alex had cultivated a relationship with the security guard and is able to convince him to admit them. Victor sends Alex and the guard off on an errand while he works on the safe, but a second guard becomes suspicious, although Victor is able to complete the job before being discovered.
The pair decide that Alex will pawn the necklace in New York City, and he invites Gabriela to go with him. As he is packing, Suzanne chances upon the airline tickets for him and Gabriela and immediately realizes he is having another affair. The two of them get into a physical alteration and she knocks him out. Deciding to leave him, she empties out his suitcase, where he has hidden the necklace, and uses it for her own clothes. Jason walks in and the two of them flee to the Florida Keys. Upon arriving, they discover the necklace, but Suzanne doesn't want to keep it, even after Jason has it appraised, discovering it is worth $1 million. Jason also visits Gabriela back in Miami, giving her the phone number of the place they are staying at.
Victor and Alex meet with Jason's friend Henry (Harold Perrineau). Alex assaults Henry in an attempt to learn Jason's whereabouts, but Henry doesn't know anything. The pair contact various jewelers to be on the lookout for the necklace and get a report from the jeweler who gave Jason the appraisal. Arriving in Key Largo, Victor pretends to flirt with Suzanne, but Jason, who has gotten a description of Henry's assailant, realizes who Victor is and after a fight, escapes with his mother in their car. Victor and Alex give chase and cause an accident that kills Suzanne. Although injured, Jason discharges himself from the hospital and returns to Miami to fight with his father, only to find Gabriela in Alex's bed. After a brief argument, they reconcile.
Alex returns home to find both Jason and Gabriela there and he accuses them of having sex. Meanwhile, Victor has been following Jason and confronts him alone. Jason convinces him that he has returned the necklace to Alex, although he has done no such thing. Victor then goes to Alex's house. The two of them fight and Victor is killed. Later, Gabriela visits Jason, and he shows her the necklace. The next day, she calls Alex to tell him its location. They arrive at Jason's boat and Alex and Jason fight, during which time Alex is critically injured. Gabriela leaves the necklace with him as she runs away. With an ambulance on the way, Alex realizes he has no choice but to dispose of the evidence and throws the necklace into the ocean.

Question: Who really has the necklace?
Answer: Gabriella