Born in Rome, he graduated from the Ballet School of the Teatro dell’Opera and joined at once the Ballet Company of the theatre. After working ten years with the Company, in the 1982-1983 season he joined Aterballetto. Highlights of that period included collaborating with great choreographers such as Alvin Ailey, Glen Tetley, William Forsythe, Jennifer Muller, and dancing several ballets by George Balanchine and Léonide Massine. In 1990 he created with a group of colleagues his first ballet, Sei in movimento, with music by Johann Sebastian Bach.
In 1993 he left Aterballetto and began an intense collaboration as a coreographer with the Balletto di Toscana, working also for important companies abroad.
As artistic director of Aterballetto from 1997 to 2007, he renovated the Company and rebuilt its repertoire; then he left to focus more on his work as a choreographer for international Companies, but he stayed on as Resident Choreographer until 2012.
Besides his work for Aterballetto, he created choreographies for the English National Ballet, the Stuttgarter Ballett, the New York City Ballet, the Ballet du Capitole de Toulouse, the Gauthier Dance Theaterhaus Stuttgart, the Alvin Ailey American Dance Theater, the Ballet Companies of the Teatro alla Scala, the Opera di Roma, the Arena di Verona and the Teatro di San Carlo of Naples, the Staatsballett Berlin, the Dresden Semperoper, Les Grands Ballets Canadiens, the Ballet Argentino, the Ballett Basel, the Ballett der Staatsoper Hannover, the Balé da Cidade de São Paulo, the BalletNext and the Ardani Artists in New York, the Bol’šoj Theatre, the Culbenkian Ballet, Les Ballets Jazz Montreal, the Pennsylvania Ballet, the Dominic Walsh Dance Theater in Houston, the Ballett Augsburg, the National Ballet of China, the Ballet National de Marseille, the Ballet de Santiago de Chile, the Ballett Dortmund, the Ballett Zürich, the Ballet des Staatstheater Nürnberg, the Swedish Royal Ballet, the Ankara State Opera and Ballet, the Ballet of the National Theatre in Belgrade, the Estonian National Ballet, the Companhia Nacional de Bailado in Lisbon, the Teatro Cólon in Buenos Aires, the Deutsche Oper Berlin, the Ballett der Wiener Staatsoper and the Prague State Opera.
His first creation for the Ballet Company of the Teatro alla Scala was Foreaction in 1993, with music by Giuseppe Calì; two years later he created the choreography for Le Streghe di Venezia, with libretto, sets and costumes by Beni Montresor and music by Philip Glass, starring Carla Fracci. In 2002, he created Omaggio a Nino Rota, a pas de deux afterwards developed into a full-length ballet. In 2008 he was invited to restage Mediterranea, one of his successes for the Balletto di Toscana, which La Scala Ballet Company took on tour. He has been commissioned by La Scala to create a new choreography for the opening title of the Ballet Season 2015-2016, Prokof’ev’s Cinderella, starring Roberto Bolle and guest artist Polina Semionova.
In March 2016 he took the direction of Teatro alla Scala Ballet Company.