Twilight pin-up Robert Pattinson puts a little colour in his cheeks in Francis Lawrence’s gorgeously framed adaptation of the novel by Sara Gruen about a doomed love affair in a 1930s circus troupe. Water For Elephants is an important barometer of the young actor’s appeal away from Stephenie Meyer’s feuding vampires and werewolves, and an indication of his potential longevity as a romantic male lead.

Pattinson acquits himself well, playing to his strengths — angry-ridden glances straight into the camera — as one point of a volatile love triangle that is destined to end in tragedy. He demonstrates impressive emotional range and although screen chemistry with Oscar-winner Reese Witherspoon doesn’t exactly set our hearts aflutter, they are an attractive pairing.

The film opens in the present day with nonagenarian Jacob Jankowski (Hal Holbrook) arriving at a circus managed by Charlie (Paul Schneider) during a downpour.

At first, Charlie thinks that the confused old man has strayed from a care home, but it soon transpires that Jacob spent his formative years with the infamous Benzini Bros Circus.

“Got anything to drink around here that isn’t apple juice?” asks Jacob as the two men sit down in the office, drying off.

With a glass of liquor to hand, Jacob begins to recount his incredible life story, stepping back in time seven decades to his student days at Cornell University. Poised to take his final veterinary exam, Jacob (now played by Pattinson) learns that his parents have been killed in a car accident and abandons his studies. With debts to pay and no roof over his head, the young man hitches a ride on a passing train, unaware it belongs to the circus run by August Rosenbluth (Christoph Waltz).

The tyrant physically and mentally abuses animals and performers, including his beautiful wife Marlena (Witherspoon) who rides the horses.When Jacob falls under Marlena’s spell, he tries to resist his feelings, working alongside the wife to win the trust of a special elephant. But when August notices the way that the young man stares at Marlena, he exacts a horrific revenge.

Water For Elephants casts a spell with its arresting visuals and the cast looks ravishing through a soft-focus lens. Cinematographer Rodrigo Prieto, who previously shot Brokeback Mountain and Biutiful, provides a picturesque canvas for Richard LaGravenese’s elegant, screenplay.

Pattinson and Witherspoon’s dream romance contrasts with another despicable villain from Waltz, who won an Oscar for his blistering portrayal of a sadistic Nazi officer in Inglourious Basterds. Here, he orchestrates scenes of animal cruelty that genuinely turn the stomach.

Sixteen-year-old Hanna (Saoirse Ronan) lives in snowbound Scandinavia with her father Erik (Eric Bana), honing the fighting skills she will need for the perilous mission that lies ahead: to kill ruthless CIA agent Marissa Wiegler (Cate Blanchett). Once she is trained and primed for action, Hanna bids farewell to her father and embarks on her quest to kill Wiegler with trained assassin Isaacs (Tom Hollander) and his henchmen on her trail.

Hanna plays out a Bourne Identity-style game of cat and mouse between the plucky teenager and her pursuers, including a breathless chase through a ship container yard that benefits from Paul Tothill’s energetic editing. A soundtrack courtesy of The Chemical Brothers pumps up the volume and our adrenaline levels, bringing a sense of urgency to the film that is lacking in Wright’s direction.