Place: The Black Forest
Time: Indeterminate
Act 1
Spring
Family and guests dance at a celebration of the engagement in marriage of Roberto and Anna. Roberto must leave before the ceremony to collect an inheritance, and Anna worries that she will never see him again (Aria: Se come voi piccina). Roberto comforts Anna telling her that it will be fine and they will marry when he returns from Mainz. Anna tells Roberto of her dreams of him dying but Roberto tells Anna that she should not worry about his love failing and that she may doubt her God but not his love for her. The crowd returns and Anna is still worried about Roberto leaving. Roberto then asks Guglielmo, Anna's father, to bless them before his journey and Roberto sets off for Mainz.
Intermezzo
Roberto is enchanted by a siren, and forgets Anna. Anna waits through the summer and the autumn and in the winter dies in his absence. The legend of the fairies (Le Villi) is then explained. When a woman dies of a broken heart, the fairies force the heart breaker to dance until death.
Act 2
Winter
Anna's father, Guglielmo, holds Roberto responsible for Anna's death and calls upon the Villi to take vengeance on Roberto (Aria: Anima santa della figlia mia). The Villi call upon the ghost of Anna and lure Roberto into the forest. Roberto, now penniless and abandoned by the seductress, returns when news of Anna's death reaches him. Hoping that he will be forgiven the Villi stalk Roberto as he mourns the loss of the days of his youth (Aria: Torna ai felici dì). Roberto then finds the one last flower left alive in the winter and tries to find hope that Anna lives but is repelled by the Villi when he tries to knock on the door of Guglielmo's house. Roberto then tries to pray for forgiveness but finds he cannot because of the curse put upon him by the Villi. As Roberto curses his fate Anna appears to him and tells him of the suffering that she had to endure. Roberto begs for forgiveness and he too feels the pain of Anna burning in his heart. But Roberto is not forgiven and Anna calls upon the Villi, who curse Roberto with cries of "traitor." There, the Villi and Anna dance with Roberto until he dies of exhaustion at Anna's feet.
Place: A barge on the Seine in Paris.
Time: 1910.
It is close to sundown in Paris, and the stevedores work unloading Michele's barge. Giorgetta, Michele's wife, asks her husband if she can bring wine to the workers. He agrees but does not join them because she refuses his kiss. The stevedores start dancing to the music of a nearby organ grinder and one of them steps on Giorgetta's foot. Luigi, a stevedore, dances with her, and it is evident that there is something between them. Upon hearing of Michele's return the stevedores' gathering breaks up.
Work is getting scarce and Giorgetta and Michele discuss which of the stevedores should be dismissed; she prefers that it be anyone other than Luigi despite him being Michele's first choice. Soon the conversation turns into a fight. La Frugola enters, looking for Talpa, her husband and one of the stevedores. She shows everyone the fruits of her scavenging in Paris and scolds the men for their drinking. Luigi laments his lot in life, and La Frugola sings of her wish to one day buy a house in the country where she and her husband can retire. Giorgetta and Luigi sing a duet about the town where they were both born.
The stevedores depart except for Luigi, who asks Michele to dismiss him and let him off in Rouen, but Michele convinces him against this, saying there is not enough work in Rouen. When they are alone, Giorgetta asks Luigi why he requested to be dismissed; the pair acknowledge their love. They plan to meet later that evening upon the signal of a match being lit on board. By now Luigi seems determined to kill Michele and flee with Giorgetta.
Michele later reminisces with Giorgetta of the days before their child died and how he could cover the two of them under his cloak. He is distressed about being twice her age; she comforts him but she still will not kiss him, and goes off.
Michele wonders aloud if Giorgetta is still faithful to him and ponders who might have changed her so much. He reviews the list of men who have shared in their lives but dismisses each of them as improbable. Michele lights his pipe and Luigi, seeing it from afar, thinks that it is Giorgetta's signal. He returns to the barge and is confronted by Michele. In the ensuing fight, Michele gets the upper hand and forces Luigi to confess his affair before killing him and hiding the body under his cloak. Giorgetta returns to the barge, feigning remorse, and Michele opens wide the cloak to reveal her dead lover.