Franco Zeffirelli's production of La Fille du régiment for Palermo's Teatro Massimo was first performed in 1959, which makes it the oldest opera production I've ever seen by a fair distance. Yet, like Zeffirelli himself, it wears its old age with style and elegance, showing artistry that transcends its age and defying the need for the theatrical innovations that have succeeded it.

It helps, of course, to have a pair of outstanding singers in the two main roles. As Marie, Desirée Rancatore was a fireball, bouncing around the stage with full military swagger, tossing off her rock solid high notes with abandon and totally confident in the bel canto tricks with which Donizetti peppers the score. When required, however, she was more than capable of lyrical beauty: her "Il faut partir" was sung with graceful melodic arc. Rancatore's performance was the more impressive in that a bad cold prevented her from attending rehearsals and her appearance was in some doubt up to the last minute.

Celso Albelo was a less dominant presence on stage, but sang Tonio beautifully. His voice may be relatively heavy for the role, but is so flexible that you get the best of both worlds: a broad, open hearted sound which negotiates the intricate twists and turns of the score without ever looking like coming off at the bends. His big set pieces, "Ah mes amis" and "Pour m'approcher de Marie", delighted the crowd just as you might hope for. 

Vincenzo Taormina added fine comic support as Sulpice: he and Rancatore looked hilarious on stage simply by virtue of him being a foot taller than her – or two feet if you include the shako. Which gives you a clue as to the nature of Zeffirelli's setting: the regiment is in full Napoleonic war regalia, with the brightest of royal blue tunics over white trousers with abundant gold braid everywhere. Marie is in a similar uniform but with scarlet pantaloons to create the French flag.

Everyone and everything else is in a kaleidoscope of vivid colours, with the costumes for the Marquise de Berkenfield of almost impossible vulgarity. The set for the Tyrolean mountains of the first act is composed of painted hardboard panels with houses, hillsides and cannons which slide in an out in a way that reminded me of Terry Gilliam's creations for early Monty Python; the set for the Marquise's palace in Act II was a masterpiece of candy-coloured trompe l'oeil. Stage direction, by Filippo Crivelli, was generally good, and the singing and dancing lesson scenes were hysterical, with Francesca Franci (as the Marquise) impressively able to play a somewhat out of tune piano on stage while singing her role and producing thoroughly decent comic acting, while Rancatore produced a masterclass in how to morph from singing out of tune into her full bel canto voice as the music returns to her favoured regimental song.

In sum, Zeffirelli's designs are as shamelessly garishly over the top as Donizetti's libretto was shameless in pandering to his patriotic Paris audience, with multiple repeats of the undeniably catchy "Salut à la France" (which, inevitably, is the tune that gets played ad nauseam by the clarinettist busking in the square as the audience leaves the opera).

The Teatro Massimo's opera and chorus didn't get off to the best of starts: the overture was little more than adequate and the opening chorus was verging on the ragged. Somehow, Benjamin Pionnier pulled it all together, and everything was tighter than tight by the end of Act I.

The Teatro Massimo is one of the biggest in Italy, built in a totally traditional horseshoe shape with a flat palco and seven tiers of boxes. The outside of the building and the foyer are wonderful spaces, and coming to the first night of opera after the summer means that you're at a big social occasion, with long dresses and jewellery in abundance. Coming to such a traditional production in such a traditional space is somewhat like stepping back in time – and I loved every minute. The production may have been ham, but it was the finest quality Parma ham. When the quality is at this level, I'm happy to be arrière-garde.