Reese Witherspoon plays the star attraction in the best-selling novel turned film, while Christoph Waltz plays her often nasty circus-owner husband.
Robert Pattinson, a veterinary student, starts falling in love with the boss' wife.
Witherspoon said she learned a lot making the movie.
"The zebras were just crazy. They were always bucking and kicking and biting," she said.
But when the actress worked with Tai, an elephant named Rosie in the film, it was a different story.
"We rehearsed for three months before the film even started shooting," she said. "She and I have this whole choreography we do together. The director really wanted me to do it all myself. I was like, 'I don't know if I'm going to do this,' and I ended up doing all of it. I'm really proud of it.'
Pattinson says everyone loved the 9,200-pound star. He also said he got beaten up a lot in the movie.
"I got so into it when I was fighting back. I was like, 'Aahhh!' trying to look like some action hero," he said.
Waltz waltzed into his role when another actor bowed out.
"I am grateful to Sean Penn because it was his part and he chose to do his immense job in Haiti," he said.
Waltz was referring to Penn's work with Haiti's earthquake victims.
"Water for Elephants" opens Friday. It's rated PG-13.