If it's just not Christmas till you've blubbed into your reindeer jumper sleeve at a tear-jerking family show, Goodnight Mister Tom should sort you out. The hit stage version of Michelle Magorian's children's book may not feature any festive snowmen or Father Christmases, but its story of a damaged little boy and a lonely old man who come to love each other is certainly moving.

William is an evacuee, sent to Dorset during the Second World War, out of harm's way. Although the greatest harm to our young hero is rather closer to home: his mother is a religious fanatic who beats the boy. He's taken in, to the surprise of the village, by Tom Oakley - Mister Tom - a bluff, brusque figure, who's long withdrawn from the world following the death of his wife and baby.

The first half of David Wood's adaptation is all rather jolly hockey sticks: a pleasant but slightly twee period drama. As William comes out of his shell, he learns to read and write, joins the am-dram group, and makes friends - most notably with fellow evacuee Zach, a larger-than-life actors' son, much given to spouting Shakespeare and performing showtunes (yes, that can be as annoying as it sounds).

Fortunately, Angus Jackson's production is blessed with fine actors. David Troughton is just gorgeous as Mister Tom: you can almost see him thawing at the arrival of the little lad. He becomes fiercely protective, and is brilliantly blustery as sudden gusts of love catch him unawares. In the show I saw, Alex Taylor-McDowall was William: a little wisp of a thing you wanted to wrap up in a blanket, his head-down, foot-dragging timidity slowly blossoming into sweet openness. There's something touching, too, in the physical contrast between the looming, lumbering Troughton and the slender vulnerability of Taylor-McDowall.

There's also some terrific puppetry from Elisa de Grey, onstage in almost every scene controlling Sammy the dog, a shaggy oversized collie; she snuffles, whimpers and barks, though even more impressive is the movement - every bound, every quiver of the bow-wow being utterly believable.

But if Goodnight Mister Tom at first seems gentle, and gently paced, the second half clonks you sideways; there's quite a different tenor, as William goes back to London to his mother. Up creaks Robert Innes Hopkins' previously simple stage, opening like menacing maw to reveal a dingy, damp flat. With expressionist angles in mouldering dark greens, it telegraphs clearly: this place is poisonous.

We're practically in gothic horror mode, with William's mother clearly very mentally disturbed; Melle Stewart gives a twitchy, wild-eyed performance in a thanklessly brief and vicious part. A high drama of seriously dark events unfolds, pretty shocking for anyone not familiar with the book or film. Stir in a few inevitable causalities-of-war deaths too and the play suddenly feels rather tragic.

Still, the production just about swerves both sensationalism and sentimentality. And the final few hopeful scenes will have you blinking back the tears and thinking about giving your loved ones a very hard squeeze next time you see them.

Goodnight Mister Tom runs at the Duke of York's Theatre until 20 February.