Magda's salon, Paris
At a cocktail party hosted by the courtesan Magda, the poet Prunier expounds his theories on love. Magda's friends Yvette, Bianca and Suzy playfully mock him, while Lisette, Magda's maid, tells him he does not know what he is talking about. Prunier takes offence and Magda orders Lisette to leave. Prunier maintains that no one is immune to romantic love and sings the first verse of his latest song about Doretta, who rejected a king as her suitor because of the value she placed on true love. He does not know how to finish the song, so Magda takes over and provides the second verse: she recounts how Doretta falls in love with a student (Aria: Chi il bel sogno di Doretta). Magda's guests are charmed by her performance and her long-term protector Rambaldo gives her a pearl necklace. Lisette enters to announce the arrival of a young man – the son of an old school friend of Rambaldo. Lisette is ordered by Rambaldo to bring in the guest. Suddenly nostalgic, Magda recalls her life as a young working girl and happy evenings spent dancing at Bullier's, where she first experienced love (Aria: Ore dolci e divine). Some of the guests suggest that Prunier should compose a song based on Magda's story but he declares a preference for songs about perverse heroines, such as Berenice or Salome. Prunier demonstrates his skills at palmistry to some of the girls, while Lisette brings in the visitor, Ruggero. He has an introduction from his father for Rambaldo. Prunier reads Magda's palm and tells her that she is like a swallow: she longs for migration towards the sun and true love. Ruggero explains that it is his first visit to Paris and asks where he may find the best place to spend an evening: after much discussion, Lisette recommends Bullier's. Ruggero leaves. Magda chides the other guests for mocking him. After they too have gone, she tells Lisette that she will remain at home that evening. Then, on a whim, she determines to disguise herself and go to Bullier's as well. She goes to get changed. Prunier returns in secret to escort Lisette to Bullier's and flirts extravagantly with her. Lisette is wearing Magda's hat and Prunier tells her that he dislikes it and orders her to take it off. They then set out together. Magda re-enters, disguised as a working girl. She sings a fragment of Prunier's song about Doretta as she leaves, happily anticipating an adventure.
The bar is packed with students, artists and flower girls, singing and dancing. Magda enters and attracts the attention of several young men. She hurries over to a table at which Ruggero is sitting alone. She apologizes for intruding and tells him that she will move away as soon as the young men at the bar stop watching her. Ruggero, who does not recognize Magda in her disguise, asks her to stay. They chat and Ruggero tells Magda that she reminds him of the quiet and elegant girls from his home town, Montauban. They dance happily together. Prunier and Lisette enter, arguing about Prunier's desire to turn Lisette into a lady and to educate her. Magda and Ruggero return to their table and Magda begins to reminisce about a past love affair. Ruggero asks for her name and she answers 'Pauletta'. She writes the name on the tablecloth and Ruggero adds his own beneath. The attraction between Magda and Ruggero grows as they talk. Lisette and Prunier pass their table and Lisette recognizes Magda. Magda signals to Prunier not to give away her secret and Prunier tells Lisette she is mistaken. To prove his point, he introduces Lisette to Magda, who tries to maintain her disguise, to the puzzlement of Lisette. The two couples sit together and drink a toast to love. Prunier notices that Rambaldo has come in, and orders Lisette to take Ruggero out of the room for a few minutes, which she does. Rambaldo demands an explanation from Magda for her behaviour and disguise; she tells him that she has nothing to add to what he has already seen. Rambaldo suggests they leave together but she refuses and declares her love for Ruggero, apologizing for any pain she is causing Rambaldo by her actions. Rambaldo tells her that he cannot prevent her staying with Ruggero. As he leaves, Ruggero returns, and tells Magda that dawn is breaking. They decide to begin a new life together, but Magda secretly worries that she is deceiving Ruggero.
The French Riviera
Magda and Ruggero have been living together on the French Riviera for some months. They talk about their first meeting and happiness together, living quietly by the sea. Ruggero tells Magda that he has written to his mother to ask for money to pay their growing debts and for her consent to his marriage to Magda. Ruggero imagines their happy married life and the child they may have (Aria: Dimmi che vuoi seguirmi). Magda is deeply touched, but also uneasy: she knows that her past life as a courtesan would make her unacceptable to Ruggero's family, and possibly to Ruggero if he knew who she really was. As Ruggero leaves to post his letter she meditates on her dilemma, torn between her desire to tell Ruggero everything, her wish not to hurt him and her fear of losing his love. Prunier and Lisette arrive. Lisette has had a brief and disastrous career as a music-hall singer: her performance in Nice the previous evening was a catastrophe. She and Prunier bicker with each other while waiting for Magda. When Magda appears, Lisette begs for her job back, and Magda consents. Prunier expresses surprise that Magda can be happy away from Paris, and delivers a message to Magda from Rambaldo: he is happy to take her back on any terms. Magda refuses to listen. Prunier takes his leave of Lisette (first arranging a rendezvouz with her for that evening) and Lisette resumes her duties as Magda's maid. Ruggero returns with a letter from his mother, in which she says that if Ruggero's fiancée has all the virtues he has described to her, he will have a blissful marriage. She looks forward to welcoming the couple to her home and sends Magda a kiss. Magda is unable to keep her secret any longer. She tells Ruggero about her past and declares that she can never be his wife – she would cause his parents too much grief. Ruggero implores Magda not to abandon him (Ma come puoi lasciarmi), but Magda is adamant that they cannot remain together, and that Ruggero must return home. Like a swallow, she flies back to Rambaldo and her old life, leaving Ruggero behind, devastated.