Действие происходит в вымышленном европейском городе Рулеттенбурге, где встречаются герои оперы. Алексей путешествует вместе с семейством русского генерала в качестве домашнего учителя его детей. Генерал обременён долгами и надеется только на богатое наследство от умирающей бабушки. Алексей — заядлый игрок; он влюблён в Полину, падчерицу генерала.
Действие первое
Сад большого отеля в Рулеттенбурге.
Полина резко говорит с Алексеем. Она отдала ему свои бриллианты, с тем чтобы он заложил их и сыграл для неё на рулетке. Она надеялась на удачу, но Алексей всё проиграл. Скрывая волнение, Полина уходит.
Появляется Генерал, сопровождаемый Бланш, Маркизом и мистером Астлеем. Алексей подаёт Генералу телеграмму, в которой сообщается о тяжёлой болезни Бабуленьки: дни её сочтены. Радость Генерала, плохо скрываемая лицемерной печалью, ещё более подчеркивается весёлым тоном Бланш и комплиментами, которые она отпускает своему почтенному кавалеру. Бланш, поддразнивая Алексея, замечает, что он печален после проигрыша шести тысяч гульденов. Все поражены: откуда у него такие деньги?
В ответ на морализаторские замечания Генерала и Маркиза Алексей с презрением говорит о бюргерах, которые копят деньги из поколения в поколение, для того, чтобы в конце концов сколотить приличный фамильный капитал. «Нет, это уж слишком противно моей татарской породе!» — с вызовом заканчивает он. Генерал, Маркиз и Бланш уходят. Астлей говорит, что ему нравятся рассуждения Алексея, и, прощаясь, приглашает его к себе.
Из диалога Полины с Алексеем выясняется, что она давно знает о его любви к ней. Алексей фанатически уверен, что рано или поздно его ждёт крупный выигрыш, и тогда он сможет помочь Полине. Но Полина относится к нему надменно. В страстном волнении Алексей говорит о том безумии, до которого довела его любовь: «Знаете ли вы, что я когда-нибудь вас убью… что нам вдвоём ходить опасно? Меня много раз тянуло прибить вас, изуродовать, задушить». Он готов ради неё прыгнуть в бездну, но Полина отвечает, что это «совершенно бесполезно». Маркиз, который ссудил Генерала деньгами, берёт у него расписку на сумму вдвое большую.
Генерал униженно благодарит ростовщика. Полина спрашивает Алексея: убил бы он человека по её приказанию? Он отвечает утвердительно. Но Полина хочет лишь посмеяться и требует, чтоб Алексей подошёл к толстой и весьма влиятельной баронессе Вурмергельм, поклонился и что-нибудь сказал по-французски. Она надеется, что барон прибьёт его за это палкой. Внутренне негодуя, Алексей всё же исполняет поручение: он подходит к баронессе, кланяется и произносит какие-то нелепые французские и немецкие фразы, вызвав тем самым гнев барона.
Действие второе
Вестибюль большого отеля.
Генерал отчитывает Алексея за грубость по отношению к супругам Вурмергельм и хочет выгнать его из дома, но возмущённый Алексей отвечает, что он сам завтра же потребует от барона объяснений. Расстроенный в предвидении нового скандала, Генерал просит помощи у Маркиза.
Мистер Астлей сообщает Алексею, что Генерал боится скандала из-за своей предстоящей женитьбы на Бланш. «Умрет московская бабушка, объявится наследство, генерал женится, маркизу вернут долги», — разъясняет он планы Генерала. Но Алексей уверен, что дело не только в этом: «Нет, маркизишка с ними ждёт наследства, потому что Полина получит приданое, а получивши деньги, кинется ему на шею… на шею к этому ростовщику!»
Страстную речь Алексея обрывает приход Маркиза, который уговорами и угрозами старается убедить его не идти на продолжение скандала с бароном. Видя, что Алексей непреклонен, Маркиз передаёт ему записку от Полины, которая приказывает прекратить всю историю. Алексей соглашается, сражённый тем, что Полина подпала под власть Маркиза. Бланш и Генерал счастливы, что неприятность улажена.
Неожиданно в отель вкатывают кресло, в котором восседает Бабуленька. Все ошеломлены, словно увидели призрак. Но Бабуленька держится энергично и бодро. Она сразу видит, что за птицы Маркиз и Бланш, и обращается сердечно только к Алексею и Полине. Бабуленька заявляет, что всё здесь хочет видеть, и рулетку тоже. «А денег я тебе не дам», — решительно объявляет она Генералу.
Действие третье
Небольшая гостиная, прилегающая к игорному залу.
В гостиной мечется, не находя себе места, Генерал: Бабуленька увлеклась игрой в рулетку, и никто не может увести её от игорного стола. Входит взволнованный Маркиз с сообщением, что старуха проиграла уже сорок тысяч и сейчас меняет процентные бумаги. Генерал в истерике кричит, что нужно учредить над бабкой опеку, отправить её в сумасшедший дом. Бланш с насмешкой называет Генерала нищим старичком, между ними вспыхивает ссора. Все трое униженно просят Алексея повлиять на старуху, заставить её прекратить игру.
Вошедший князь Нильский заявляет, что Бабуленька проиграла около ста тысяч. Генерал и Маркиз бегут в игорный зал, а Бланш начинает заигрывать с престарелым князем. Оставшись один, Алексей мечтает о Полине. Когда же та появляется, он спрашивает, почему её не сопровождает Маркиз, и слышит странный ответ: «Потому что он подлец». Алексей снова напоминает Полине, что теперь, когда приближается развязка, он готов оказать ей какую угодно услугу.
Ввозят Бабуленьку, которая проиграла все свои деньги. Но у неё есть еще три деревни и два дома. Старуха зовёт Полину к себе жить, однако та благодарит и отказывается, ссылаясь на невозможность дать ответ тотчас. Бабуленьку уносят. А когда Генерал хочет проникнуть в её комнату, слуга Потапыч его не пускает: «Не велено». Генерал предаётся мрачным мыслям: он разорён, женитьба расстроилась, Бланш предпочла ему другого, и во всём виновата проклятая старуха.
Действие четвертое
Картина первая
Крошечная каморка Алексея.
Проводив Бабуленьку на вокзал и вернувшись в свою каморку, Алексей с удивлением видит у себя Полину. Девушка показывает ему письмо, оставленное уехавшим Маркизом. Последний уже успел распорядиться о продаже заложенного ему Генералом имущества, а от «сладостных надежд» на счастье с Полиной он отказывается; Генералу же Маркиз прощает пятьдесят тысяч, так как это были деньги Полины… «С каким бы счастьем я бросила в его лицо все эти проклятые деньги!» — восклицает Полина. Алексей соглашается, что надо «ответить мерзавцу возвратом его подлых денег», но где же их взять? И вдруг дикая мысль пронзает его: это судьба, нужно испытать своё счастье, Полина должна подождать здесь, он сейчас вернётся… И Алексей, как помешанный, выбегает из комнаты.
Картина вторая
Ярко освещенный зал.
Вокруг рулетки толпятся игроки, увлечённые азартной игрой. Алексей делает ставки и выигрывает одну за другой. Когда его выигрыш достигает шестидесяти тысяч, крупье закрывает стол. Алексей и разгоряченная его успехом толпа игроков переходят к другому столу. Общее волнение. Алексея считают ненормальным, одержимым. Закрывают и второй стол, так как Алексей выигрывает все деньги. Он переходит в соседний зал. Оттуда несутся восторженные вопли игроков. Выигрыш достигает двухсот тысяч, но опытные люди понимают, что Алексей стоит на грани безумия. «Мы встретимся с ним завтра», — замечает крупье. «Теперь он не уйдёт, — добавляет директор рулетки, — он обречён…»
Картина третья
Снова каморка Алексея.
Алексей вбегает в свою каморку и выбрасывает пачки денег на стол, ничего не видя вокруг. Ему слышатся голоса крупье и игроков. Полина долго молча наблюдает за ним. И когда он, вдруг заметив её, предлагает ей деньги, чтобы отдать Маркизу, она отвечает злым смехом и отказывается их взять. Алексей удивлён. «Вы, мой друг, дорого даёте, любовница маркиза не стоит пятидесяти тысяч», — резко говорит Полина и истерически рыдает. Алексей с трудом успокаивает её. Наступает минута просветления: оба пытаются поверить, что будут счастливы вместе. Но вдруг Полина снова требует свои пятьдесят тысяч, а получив деньги, озлобленно бросает их в лицо изумлённому Алексею и убегает.
Он остаётся один — потрясённый, растерянный. Внезапно на лице его появляется безумная улыбка, и он устремляется навстречу невидимой рулетке: «Кто б мог подумать… Двадцать раз подряд вышла красная!..»