Casting
It was unclear if Jodie Foster (Clarice Starling) and Anthony Hopkins (Hannibal Lecter) would reprise their respective roles for which they won Academy Awards in The Silence of the Lambs (Best Actress/Best Actor). Both Hopkins and Foster had expressed interest. It became apparent that the producers and the studio could do without one of the original "stars" and would go on to find a replacement. The withdrawal of both Foster and Hopkins could possibly have been terminal for the project, however. De Laurentiis confirmed this after the film's release: "First and foremost, I knew we had no movie without Anthony Hopkins."
Foster told Larry King in 1997 that she "would definitely be part of" a sequel to The Silence of the Lambs. In the same year, she told Entertainment Weekly: "Anthony Hopkins always talks about it. I mean, everybody wants to do it. Every time I see him, it's like: 'When is it going to happen? When is it going to happen?'" De Laurentiis thought Foster would decline once she read the book, and believed the final film was better for it. Hopkins also had doubts Foster would be involved, saying he had a "hunch" she would not be.
Foster confirmed that she had turned down the film in December 1999. This caused problems for Universal and production partner Metro-Goldwyn-Mayer (MGM). "The studio is just back from the holiday and is regrouping based on the news, and has no cohesive game plan at the moment," said Kevin Misher, Universal's President of Production. Misher added that, "It was one of those moments when you sit down and think, 'Can Clarice be looked upon as James Bond for instance? A character who is replaceable?' Or was Jodie Foster Clarice Starling, and the audience will not accept anyone else?" Foster said in December 1999 that the characterization of Starling in Hannibal had "negative attributes" and "betrayed" the original character.
Foster's spokeswoman said she declined because Claire Danes had become available for Foster's film Flora Plum. Entertainment Weekly described the Hannibal project as having become "a bloody mess, hemorrhaging talent and money" despite Hopkins being on board. In 2005, after the film had been released, Foster told Total Film: "The official reason I didn't do Hannibal is I was doing another movie, Flora Plum. So I get to say, in a nice dignified way, that I wasn't available when that movie was being shot ... Clarice meant so much to Jonathan and I, she really did, and I know it sounds kind of strange to say but there was no way that either of us could really trample on her."
When it became clear that Foster would skip Hannibal, the production team considered several different actresses, including Cate Blanchett, Angelina Jolie, Gillian Anderson, Hilary Swank, Ashley Judd, Helen Hunt and Julianne Moore. Hopkins asked his agent if he had any "power" over casting. He informed De Laurentiis that he knew Moore, with whom he had worked on Surviving Picasso, and thought her a "terrific actress". Although Hopkins' agent told him he had no contractual influence on casting, Scott thought it correct to discuss who would be Hopkins' "leading lady". Scott said he was "really surprised to find that [he] had five of the top actresses in Hollywood wanting it." In order to star in Hannibal, Moore would decline to play a role in Unbreakable.
Scott said his decision was swayed in favor of Moore: "She is a true chameleon. She can be a lunatic in Magnolia, a vamp in An Ideal Husband, a porn star in Boogie Nights and a romantic in The End of the Affair." "Julianne Moore, once Jodie decided to pass, was always top of my list," said Scott on his female lead. Moore talked about stepping into a role made famous by another actress: "The new Clarice would be very different. Of course people are going to compare my interpretation with that of Jodie Foster's ... but this film is going to be very different."
Hopkins was generally expected to reprise his Academy Award-winning role. Hopkins said in June 1999 that he would only be interested if the script was "really good". Hopkins said he could not make up his mind to commit: "I was kind of surprised by this book, Hannibal. I thought it was really overreaching and so bizarre. So I couldn't make up my mind about it all. Some of it I found intriguing, some I was a little doubtful about." When the producers confirmed that they were going to film Harris' novel, Hopkins told them yes, but added: "It needs some condensing." The Hollywood Reporter confirmed that Hopkins had agreed to reprise his role in late December 1999, saying he had approved the latest draft of the script.
Hopkins said he had no difficulty moving back into "Lecter's mind". "I just learned the lines and showed up and walked around as Hannibal Lecter. I thought, 'Do I repeat that same performance, or do I vary it?' Ten years had passed so I changed a bit." In the book, Lecter uses bandages to disguise himself as a plastic surgery patient. This was left out of the film because Scott and Hopkins agreed to leave the face alone. Hopkins said: "It's as if he's making a statement—'catch me if you can'. With his big hat, he's so obvious that nobody thinks he's Hannibal Lecter. I've always thought he's a very elegant man, a Renaissance man." In the film, Lecter is first seen in Florence "as the classical Lecter, lecturing and being smooth", according to Hopkins. When the film moves to the US, Hopkins changed his appearance by building up muscle and cropping his hair short "to make him like a mercenary, that he would be so fit and so strong that he could just snap somebody in two if they got ... in his way".
The part of Mason Verger, one of Lecter's two surviving victims, was originally offered to Christopher Reeve based on his work as a police officer who uses a wheelchair in Above Suspicion (1995). Not having read the novel, Reeve showed initial interest in the role, but ultimately declined upon realizing that Verger was a quadriplegic, facially-disfigured child rapist. The part was later accepted by secondary choice Gary Oldman. Co-producer Martha De Laurentiis claimed they had a "funny situation" with Oldman wanting a prominent "credit". She said: "Now how can you have a prominent credit with Hannibal? The characters are Hannibal and Clarice Starling. So we really couldn't work something out (at first)." Oldman was apparently "out" of the film for a while, but then came back in, asking to go "unbilled". Oldman would become transformed and "unrecognizable as himself" to play the part of Verger. He would have no lips, cheeks or eyelids. Make-up artist Greg Cannom said: "It's really disgusting ... I've been showing people pictures [of Oldman as Verger], and they all just say 'Oh my God,' and walk away, which makes me very happy." Oldman said that having his name completely removed from the billing and credits allowed him to "do it anonymously" under the heavy make-up.
Other stars subsequently cast included Ray Liotta as U.S. Justice Department official Paul Krendler (the character had appeared in The Silence of the Lambs, but original actor Ron Vawter had died in the interim) and Italian actor Giancarlo Giannini as Detective Rinaldo Pazzi. Francesca Neri played Pazzi's wife, Allegra. Frankie Faison reprised his role as orderly Barney Matthews, remaining the only actor to play a role in all Lecter feature films (until Hannibal Rising in 2007), including Manhunter.