Referring to his 1985 novel, Love in the Time of Cholera, Gabriel García Márquez said, "You have to be careful not to fall into my trap." The trap: reading his 50-year-spanning story as a simplistic, saccharine love story. With the film version of Cholera, director Mike Newell (Four Weddings and a Funeral, Harry Potter and the Goblet of Fire) nearly falls for it—only to be saved by Javier Bardem's stellar performance as Florentino.

When the beautiful Fermina (Giovanna Mezzogiorno) and her father (the ludicrous John Leguizamo) move to Cartagena, Colombia in the late 1800s, a young telegraph boy, Florentino (Bardem, who also gives a hell of a performance in this week's No Country for Old Men), becomes smitten with her. A furtive epistolary romance gets hot and heavy between the young couple, only to come to an end when Fermina is secreted out of town by her domineering father. In the years of Fermina's absence, Florentino pines for her, determined to save his true love for only her, but it's not to be: When Fermina finally moves back to Cartagena, she finds her love for Florentino to have been an illusion, and soon marries the rakish Dr. Juvenal Urbino (Benjamin Bratt).

And as half a century goes by, Florentino turns into a martyr for love—having 600-plus meaningless flings while his suffering heart stays true to his childhood love and he waits for Juvenal to die. It's easy enough to see how Love in the Time of Cholera could be turned into a bodice-ripping, love-against-all-odds melodrama; the whole frowzy "love is torture" deal being a Hollywood staple. This adaptation comes dangerously close to cheesing it all up, and without Bardem's performance, which adds layers of subtlety, this film would've fallen flat. Bardem's Florentino is as sympathetic (and pathetic) as the character is in the novel—even when banging every girl he can get his hands on, he's still charming and naïve. Newell's film is, without a doubt, uneven, unsuccessfully attempting to pair epic with bawdy slapstick—but whenever he's onscreen, Bardem makes Cholera work.