Portland Ballet Company opened its two-weekend run of the 19th-century ballet “Giselle” with a splendid performance Saturday evening at Westbrook Performing Arts Center.

Dancing the role of Giselle, Megan Buckley was strong, pretty and expressive. She performed the first-act solo with wonderful lightness, executed the ankle-numbing series of jumps and releves of the second-act solo with quickness and precision and showed fine balance and sustain throughout her adagio sequences. Her pointe work was outstanding.

Buckley and her partner, Joseph Jefferies as Albrecht, danced extremely well together. Their grand lifts were sky-high and solid, and Jefferies handled the smaller lifts so smoothly that Buckley could have been on a wire as she floated into the air.

Their synchrony in duet was wonderful to watch. Despite physical disparity — Jefferies is a head taller than Buckley, with an almost burly physique best suited to huge leaps — even their small jumps were in perfect alignment, with identical timing and parallel arms and legs.

“Giselle” is also a chance for the corps de ballet to shine, and this corps rose to the occasion, as both the lighthearted peasants of the first act and the ghostly Wilis of the second.

Associate artistic director Nell Shipman, who performed as Giselle in the company’s 2009 production, has staged the ballet according to its traditional choreography. It was delightful to see classic sequences such as the corps de ballet’s traveling, crossing arabesques performed so well.

The first act of “Giselle” tells the story: Giselle falls in love with Albrecht, a duke disguised as a humble hunter, breaking the heart of gamekeeper Hilarion (Matthew Begin). Upon discovering that Albrecht is already engaged to one of a group of visiting nobles, Bathilde (Katrina Smedal), Giselle goes mad and her weak heart fails.

Until its conclusion, the first act has a storytelling flavor and features sprightly dancing from Giselle’s friends and beautiful duets between Giselle and Albrecht, in a scene bright with flowers and the trappings of everyday life. Only foreboding musical elements point toward the tragedy to come.

The second act is strikingly different, as Giselle becomes one of the Wilis, women who died after betrayal by their fiances. The stage is empty except for Giselle’s headstone and the Wilis appear in gauzy wedding-white, led by Queen Myrtha (danced majestically by Mary Stride).

As revenge, the Wilis dance to death any men who enter their domain. Giselle begs for Albrecht, caught while visiting her grave, to be spared, and manages to keep him alive through the night.

Shipman has done exceptionally well with the first act, with subtle mime clearly establishing the story, excellent flow and the right amount of liveliness from background dancers.

The second act was effectively eerie, with fluid, hypnotic dancing from the Wilis and Buckley’s and Jefferies’ exquisite pairing. The story could have been clearer, however, making program notes essential for “Giselle” novices.

“Giselle” is interesting for both its gorgeous dancing and its emotional theme. Especially considering its 1841 debut, the story is bold in exploring the effects of romantic duplicity.

The Wilis’ harsh punishments, although randomly dealt, symbolically acknowledge betrayal’s potential effects. Likewise, Giselle’s weak heart serves to hyperbolize its immediate impact.

In the end, though, Giselle’s purity and the truth of Albrecht’s love prevail. Although they are separated by death, their constancy proves more emotionally and artistically satisfying than scenes of revenge.

Portland Ballet has done an admirable job with this masterpiece. The dancing is excellent throughout, and the ballet takes the audience on a moving emotional journey.

Jennifer Brewer is a freelance writer, teacher, musician and dancer who lives in Saco.