It is 24 years since Judi Dench last appeared on a Stratford stage. But, while it is a joy to see her back, she is simply one of the jewels in the crown of Gregory Doran's exquisite production of this infinitely fascinating play.
The problem has always lain in Shakespeare's blend of romance and realism. He inherits from Boccaccio the story of the doctor's daughter who wins, through the bed trick, the man who has rejected her because of her status. But Shakespeare turns his heroine, Helena, into a mixture of calculation and passion. By juxtaposing the French king and the Countess with the bumptious Bertram and the braggart Parolles, Shakespeare transforms the story into a meditation on the sadness of age and the follies of youth.
Doran's solution to the difficulties is to treat the play as a realistic fairytale. Claudie Blakley's Helena is both a magician and a woman confident enough of her worth to ask the dying king "but if I help, what do you promise me?" Dame Judi's perfect countess is also both beneficent godmother and a woman anguished by her son's behaviour: for all her goodness, what I shall remember is her regret as Bertram's sins are revealed.
But, by setting the action in the 17th century, Doran also shows the play to be a bridge between Twelfth Night and the late romances. The humiliation of Guy Henry's Parolles echoes the punishment inflicted on Malvolio. But when Blakley's veiled Helena is resurrected from death in the final act, one's heart misses a beat, as it does with the restoration of Hermione in The Winter's Tale.
The hardest part is Bertram, whom Johnson described as "dismissed to happiness". But, without exculpating him, Jamie Glover's look of horror at the end of a husband-choosing elimination-dance is comprehensible. But everything about this production, from Gary Waldhorn's king to Charles Kay's acerbic Lord Lafeu, fits perfectly into place. It is Dench who is drawing the crowds, but the triumph lies in the restoration of an unforgiveably neglected play.
· Until February 7. Box office: 0870 609 1110.