Boy falls in love with girl. Girl marries another man. Boy kills himself. The plot of Massenet's Werther isn't exactly complex or taxing, but then, in all great stories, it's the way you tell them that counts.

The story certainly worked for its author. When it was published in 1774, The Sorrows of Young Werther propelled the young Goethe to fame and caused a literary sensation. Young German men affected the clothing, style and demeanour of the lovesick hero, and stories went around (perhaps apocryphally) of a wave of copycat suicides. But groundbreaking literature isn't always easy to translate to the stage: Goethe's work is an epistolary novel in which the slow development of Werther's inner feelings are revealed in a series of letters to an unseen friend Wilhelm. To turn this into an opera, the librettists Edouard Blau, Paul Milliet and Georges Hartmann had to create a lot of detail that isn't in the novel and to do their best to bump up the tempo of a very elegiac piece.

Clearly, Massenet had no such trouble with the music. It's a quite glorious score, which ebbs, flows and surges as the moods of the various characters are presented, and which is full of melodies that cross-refer to each other. Antonio Pappano and the Royal Opera House Orchestra gave us a wonderful and sensitive account, and Massenet's two "Orchestral Interludes", one depicting the moonlight during the ball and the next depicting the snow on Christmas eve, gave them fine showcases in which to do so. It was a slow start, though: the overture demands everyone to hit full power straight out of the starting blocks, and this simply didn't happen.

Casting Rolando Villazón as Werther must surely have earned the phrase "a brave decision, minister." Villazón has had his difficulties in the last few years, not least a bunch of cancelled performances and vocal surgery, and has come in for an awful lot of flak for doing bad things to his voice; many have questioned whether he can regain his top-flight status. I thought he confounded his critics last night with a thoroughly controlled performance in which every nuance of every phrase was precisely in place. Granted, it's not the biggest voice: another tenor might choose to sing the role more heroically and dynamically. But Villazón was highly musical and gave us a credible depiction of Werther's passion and descent into despair. He sang the ravishing Act III Pourquoi me réveiller beautifully, making it the showstopper it should be, and the rapturous applause he received at the curtain calls was well deserved.

Werther's beloved Charlotte has little to do until Act III, when she is thrust into the limelight. Sophie Koch matched Villazón's fluidity and feel for the score, and she commanded the stage well. She was perhaps a little too nice, however: I didn't feel that the sparks flew between her and Villazón. Act IV, which consists almost entirely of a duet between Charlotte and the dying Werther, could have done with a bit more chemistry.

The supporting cast were all up to scratch: Eri Nakamura as the charming and innocent sister, Audun Iversen as the dull but worthy husband and Alain Vernhes as Charlotte's genial and rather bewlidered father.

But the difficulty in Werther is that its librettists never quite solved the problems of pace and balance. In spite of the addition of immediate drama by making Charlotte return Werther's love (in Goethe's original, she maintains a decorous friendship), the end result is still an opera in which not much happens in the first two acts except scene-setting, the emotional core is all in a highly compressed Act III, and Act IV is merely the inevitable aftermath.

For all those failings, last night's Werther was watchable throughout and really came to life in Act III: it's an evening of intense and beautiful music, performed strongly.