The romantic drama Two Lovers is the perfect small movie. James Gray and his co-writer, Ric Menello, were inspired by Dostoevsky’s short story “White Nights” and especially by the exquisite 1957 movie version by Luchino Visconti.

In Visconti’s version, Marcello Mastroianni plays the restless young man who falls passionately in love with a woman he meets on the street (Maria Schell). Emotionally, she’s out of his reach, in thrall to an absent lover to whom she’s waiting to be reconciled.

Gray’s update, set in Brooklyn, casts Joaquin Phoenix as the man, an aspiring photographer who works in his dad’s dry-cleaning business, and Gwyneth Pal trow as the woman. Leonard and Michelle are both so fragile and bruised from dancing on the high wire of romance that when they come together you fear for them both—especially for Leonard. He has barely survived a disastrous love affair: he tried to commit suicide and wound up in a psychiatric hospital, and as the movie begins he attempts to drown himself. He’s saved by a passerby and says nothing about the incident to his compassionate parents (Moni Moshonov and, in a glowing performance, Isabella Rossellini), with whom he is living temporarily.

Michelle is a beauty in the same building who takes too many drugs and can’t get free of her married lover (Elias Koteas), who she is convinced—against all odds—is about to leave his wife for her.

The filmmakers give Leonard a more stable alternative: Sandra (Vinessa Shaw), the daughter of the man who’s buying the dry-cleaning businesss. They meet at a family dinner and, with the encouragement of both sets of parents, start to date and become engaged. Sandra represents the Brighton Beach middle-class world in which Leonard grew up. Though the movie doesn’t underscore this distinction, Michelle, with her golden WASP looks, is the exotic other. She also embodies the razor’s edge of romantic masochism that Leonard is continually drawn toward.

To the filmmakers’ credit, they don’t make Sandra and her parents drab or crassly materialistic. Shaw brings sensuality to the role of Sandra, and the life offered by her and her father (Bob Ari)—who wants to make Leonard a partner in the business—is companionable as well as comfortable. The movie complicates the story by suggesting that in different ways Leonard is in love with both women.

Both actresses give terrific performances. This may be the best work Paltrow has ever done, and it is certainly her best work since she played Estella (another type of broken WASP princess) in Great Expectations nearly a dozen years ago.

But Phoenix is the pulse of the movie; he’s staggeringly good. Phoenix and Gray worked beautifully together in We Own the Night, in which Phoenix plays a nightclub manager who returns to the bosom of a family of cops when his brother is wounded in the line of duty. Gray must have conceived Two Lovers with Phoenix in mind. His gift goes beyond the ability to slip under the skin of a character (if you saw him as Johnny Cash in Walk the Line, you know he can do that). He opens himself up completely to the camera; he doesn’t hold anything back. What the camera picks up is layer after layer of emotion. For an actor with such a sure masculinity, he’s surprisingly soft and pliable, showing a gentleness and vulnerability that make him seem childlike—a lot like the young Montgomery Clift.

Phoenix makes it clear that what Michelle responds to in Leonard is the sensitivity she doesn’t receive from Ronald, her wealthy married boyfriend. But it’s equally clear that sensitivity isn’t what she’s looking for in a partner. When Michelle gives up on Ronald and Leonard offers himself to her, his protestations of love are so intense and he’s so unprotected that you want to reach out and stop him from making another fantastic romantic leap—one that you can’t see ending well.

Two Lovers is the kind of film that usually stays way below the radar. The things that Gray does well—like his depiction of a lived-in Brighton Beach—tend not to win praise. But the movie deserves it.