Any opera house willing to revive Damiano Michieletto's production of Guillaume Tell is a brave one. At its 2015 inauguration at the Royal Opera House, a controversial rape scene in Act 3 drew outrage from audience and critics alike, precipitating a crisis at Covent Garden and a debate about the nature of its public function. The production has not resurfaced since, but Palermo's Teatro Massimo has decided it is time for a re-evaluation, and secured a lease from Covent Garden to open the season. This is no light undertaking. Rossini's casting requirements are enough to put even top theatres under pressure, while Michieletto's large-scale set, featuring a huge central tree trunk that had to be transported from London, was always going push the Massimo's comparatively less well-equipped stage to its limits.

But the effort paid off handsomely, and the smattering of boos that met the director at the curtain call were greatly outweighed by applause. I was with the cheerers. On the basis of this viewing, Guillaume Tell is up there with Michieletto's most effective productions.

Not that the staging is the only element to enjoy. Gabriele Ferro, the Massimo's Music Director who is generally regarded to be beyond his best years, provided the evening's welcome surprise, with playing that started leadenly but acquired sparkle thereafter. The latter two acts were especially notable for their sense of proportion, grace and, crucially, inbuilt propulsion, and Rossini's full range of atmospheres was effectively conveyed. Horns emerged vaguely as if from out of fog, and the music for the storm exhilarated. The finale, in which the gloominess is replaced by a radiant glow, sounded euphoric.

Roberto Frontali was a brooding Tell, and sculpted his text beautifully especially in the plangent aria "Sois immobile". Dmitry Korchak, the heroic Arnold Melcthal, matched a high-lying range with a full-bodied tone, evading fatigue in this taxing role so that top notes pinged in his call to arms “Amis, amis, secondez ma vengeance”. Nino Machaidze matched an even legato and firework coloratura with a strong feel for drama in the role of Mathilde, and Luca Tittoto's growling Gesler, an abhorrent, gun-wielding villain in this production, raised pulses. Of the smaller roles, Enea Scala's Ruodi impressed with laser-like high notes after Juan Diego Flórez, and Anna Maria Sarra sang lushly as Jemmy.

That said, Michieletto's staging is this production's best feature. In contrast to many of the London reviews, I found it imaginative, beautiful and successful at unlocking and coherently weaving together the libretto's key events and themes. Time and again, it finds the right image for the music: the sprawling uprooted tree trunk, eerily illuminated with Alessandro Carletti's beautiful lighting design, places us firmly in a misty, mysterious terrain, while SAS-style soldiers invading the villagers' peace and shiftily staring down their gun sights is almost balletic. Even the production's more abstract elements, including an imaginary figure in medieval garb who ultimately guides Tell's arrow, are unobtrusive.

The “Pas des soldats” – the scene that provoked the boos in London with its depiction of a gang rape on a young woman – certainly makes for tough viewing. But, in harnessing the music's propulsive energy (a mass of men in military men thrust to surges in the music), and counterposing such violent images with the music's overall bubbly spirit, it is both musically intelligent and poetic. What's more, the savagery is an apt depiction of the atrocities of occupation, and makes sense of the Swiss uprising that eventually follows. It is just one of a number of powerful images that hit you hard. That of a solemn Hedwige, Tell's wife, laying an empty table for three as Tell sings farewell to his son in “Sois immobile" is especially moving.

They say that time is a healer. Certainly, the imbroglio that accompanied Michieletto's ROH debut three years ago now feels like a thing of the distant past.