Swan Lake, Giselle, Don Quixote – all three ballets are familiar, crowd-pleasing favourites, although UK companies no longer trot them out on a regular basis.

Which might explain the packed houses at the King's Theatre last week for Sofia National Ballet, despite the Bulgarian outfit being an unknown quantity (and their arrival coinciding with a mini heatwave).

Giselle (✶ ✶ ✶ ✶) was the high point, and probably a good indication of what this company can offer when not governed by the pressures of a whistlestop tour that hurtles them round the country, pausing to give 34 performances in nine cities in the course of July. Everything came together confidently and persuasively, with Vesa Tonova's Giselle such an unworldly, bright young girl in life, and, despite her lover's perfidy, his guardian-wraith in death, when vengeful female Wilis are out to destroy him on her account. Tonova's technical brilliance is never gratuitously showy: instead, she uses it to flesh out Giselle's character, hinting at the sensitivity that makes her vulnerable (to the point of suicidal breakdown) but which – as a spirit, risen from the grave – colours her defence of false Albrecht (nobly danced by Emil Yordanov) with a romantic fervour.

The live orchestra responded to Adam's score with a lovely attention to detail, the costuming was stylish and the corps de ballet, with Katerina Petrova as their implacable Queen, delivered the ensemble patternings of the Wilis with pleasing precision. That crispness of formation, unison of body line and shared musicality made the swans – and indeed those easy-to-spoof cygnets – a tremendous asset to a Swan Lake (✶ ✶ ✶), which sometimes showed the strain of the company's full-on touring schedule. The whole production looked squashed up and cramped on stage, especially when the prince's hopeful brides and their entourages arrived at court. The Prince (Nikola Hadjitanev) has, of course, already chosen his partner – the enchanted Odette, whose fate is helpfully explained in the overture/prologue. There's a lot to applaud in this production, but the orchestra struggled to meet the rich demands of Tchaikovsky's score and not all the soloists were as secure as Georgi Asparuhov's nimble Jester or Doychin Dochev's sinister Rothbart.

As in Don Quixote (✶ ✶), Hadjitanev was paired on stage with Marta Petkova. Her Odile – like her Kitri in Don Q – has firecracker pzazz, but her Odette, for all the eye contact and even kisses that pass between her and the Prince, didn't have the nuanced emotions to match her technique. Hadjitanev simply shone in both ballets. His assured athleticism looks effortless, he plays both the conflicted Prince and swaggering, flirty Basil (in Don Q) without heavy-footed over-acting, and he partners his ballerina with supportive consideration. This calibre of dancing makes a ramshackle piece like Don Quixote worth watching. Don't expect Cervantes, or indeed much of a plot. But the energy of the set pieces is hugely attractive.

The company is at Edinburgh's Playhouse with the same three-ballet programme from tonight until July 17.