Act I
In Roulettenburg, the young Russian Alexey is in love with Polina, the General's ward. She had asked him to pawn her jewellery and gamble with the proceeds so that she might pay off her debts, but he tells her that he has lost everything. The General enters with his mistress Blanche, the Englishman Mr Astley, and the coldly shrewd Marquis, who is supplying loans to the General at exorbitant rates. Blanche questions Alexey about his losses, but he protects Polina and claims that it was his own money, saved from his salary. The General receives a telegram from Polina's grandmother in Moscow. He is desperately waiting for the old woman, Babulenka, to die so he can inherit her money and pay off his debts. He leaves with the others to reply to the telegram.
Polina is annoyed that she cannot repay her debts to the Marquis since Alexey has lost her money. When Alexey insists that he loves her, she asks him to prove it by doing her bidding and insulting a German Baroness, who is strolling nearby with her husband. Alexey does as he is told, provoking the Baron's anger and causing a scene.
Act II
The General reprimands Alexey for his behaviour and relieves him of his tutorial duties. Alexey replies that he should be allowed to act as he wishes and announces that he will challenge the Baron to a massive conflict. The General, wanting to avoid a scandal, asks for the Marquis's help in dealing with his former employee. Alexey returns, brooding, and learns from Astley that the General is afraid of scandal because it might jeopardize his intentions of marrying Blanche. Astley also explains that the wedding cannot take place until the General receives his inheritance from Babulenka.
In an attempt to control Alexey's behaviour the Marquis tries to reason with him, but he will not listen. The Marquis finally produces a note, supposedly written by Polina, telling Alexey to stop acting like a schoolboy. The young man accuses the Marquis of having forced Polina to write the note and storms out. The General enters with Blanche, eager to hear if the Marquis had any luck with Alexey. The Marquis shifts the conversation to Babulenka's health. As soon as the General predicts her imminent death, they hear the old lady's voice. She has come back, recovered from her illness, and announces that she is looking forward to gambling. Blanche suspects the General of false promises, while the Marquis hopes that his usual deceit will be sufficient to deal with the situation.
Act III
Babulenka has been losing large amounts at gambling. The General frantically tries to find a way to stop her, and when he learns that her losses have increased, he panics and decides to call the police. Blanche abandons him and leaves with another man, Nilsky. Alexey reflects on the fate of his former employer's family: only his love for Polina still connects him to them. Polina appears, and Alexey gets her to admit the Marquis's dishonourable behaviour toward her. They are interrupted by Babulenka. Having spent all the money she brought, she wants to return to Moscow and invites Polina to accompany her, but the girl says she cannot leave just yet. When Babulenka is gone, the General returns. He has lost Blanche and is financially ruined.
Act IV
Alexey finds Polina waiting in his room. She is desperate and, for the first time, admits the nature of her relationship with the Marquis, who has abandoned her and is pressing her to repay the money she owes him. Alexey, thrilled that Polina has turned to him for help, runs off to win her money back.
Alexey joins a group of veteran gamblers and wins, again and again, finally breaking the bank. Gathering his money, he returns to his room and offers Polina the sum she needs to repay the Marquis. She insists on taking it only in exchange for her body. Alexey is insulted, but when Polina confides her love and hopes to him, they passionately embrace. She immediately regrets her action and, when Alexey hands her the money, she throws it in his face and runs out. Alexey is left alone, dementedly recalling his good fortune at the roulette table.