In the novel "To Die For", on which the movie is based, Suzanne Stone Maretto states on page 307 that she would like to see "that actress that just got married to Tom Cruise in real life" play her in a movie about this. This refers to Nicole Kidman who later played Suzanne in the movie.
Casey Affleck beat out his older brother Ben Affleck as well as his childhood friend Matt Damon for the role of Russell Hines. When asked why he chose Casey over the rest, Gus Van Sant stated that he noticed that Casey still had a strong Boston accent, while Ben and Matt had lost theirs, he also got the feeling that Casey was scrappier than the other two.
Once she'd read the script, Nicole Kidman was determined to land the lead role. This involved tracking down 'Gus van Sant''s personal phone number and ringing him at home. She spent 40 minutes talking to him on the phone about her thoughts on Suzanne and how to play her. Van Sant called back 2 hours later to tell her she'd got the part.
According to Joyce Maynard, she happened to have her mother's ashes on hand during the filming of her scene. Deciding her mother would have wanted to be in the movie, she placed them in her prop briefcase.
Gus Van Sant revealed in an interview that although it wasn't explicitly stated in the book or in the film, he believed that Russell (Casey Affleck ) and Lydia (Alison Folland ) had a crush on one another and would have eventually married. He also said that this was the reason why Russell and Lydia were always combative towards each other in particular.