There are times when you can't help but wonder whether Placido Domingo has a Dorian Gray-type portrait hidden in his attic. Now in his 60s, he has a capacity for self-renewal that can only be described as miraculous. Domingo is marking the 30th anniversary of his Covent Garden debut by tackling Herman in Tchaikovsky's The Queen of Spades. The role is gruelling. Herman is a disturbed obsessive who develops a fixation with an aged countess. In her youth, she sold body and soul to gain an infallible method of winning at cards, and she now lives in terror of her own damnation.
Domingo charts Herman's descent into insanity with shocking exactness. His voice has darkened somewhat with age. The heavy, ringing tone and the sheer pressure of much of his singing suggest choked and dangerous emotions spiralling out of control. Faced with Liza, the countess's granddaughter, he seduces her with violent desperation. When the ghost of the countess insinuates itself into his bed, his control slips completely: his body convulses with terror and he emits a deranged laugh that freezes your marrow.
But this is by no means a one-man show. Thomas Allen, also celebrating 30 years with the Royal Opera, plays Yeletsky - Herman's rival for Liza's affections, a role often romanticised - as a man whose growing emotional disappointment leads to deep obsessions of his own. As the countess, Josephine Barstow suggests the former glamour of a once great beauty behind the woman's now wrecked facade. Liza is sung by the glorious Susan Chilcott with unbridled sexuality. And in the pit, Valery Gergiev still knocks spots off all his rivals in this score, which glows and seethes with baleful intensity throughout.
Sadly, however, we are also saddled with Francesca Zambello's grim production. Some of its excesses, most notably the Broadway-style choral routines, have been toned down, but its messiness remains, bringing up the unavoidable question of why Zambello continues to be employed by so many of today's opera houses.
· In rep until June 29. Box office: 020-7304 4000.