Действие первое
Королевский дворец в Стокгольме. Придворные ожидают аудиенции у короля Густава Третьего, среди них группа заговорщиков во главе с графами Хорном и Риббингом (хор Posa in pace). Входит король. Он замечает в списке приглашенных на бал-маскарад гостей имя Амелии, жены его друга, графа Анкарстрёма, и размышляет о своей тайной любви к ней (La rivedrà nell’estasi). Оставшись наедине с Густавом, Анкарстрём предупреждает его о заговоре против него, но король не обращает внимания на опасность (Alla vita che t’arride). Юный паж Оскар рассказывает Густаву о предсказательнице Ульрике Арвидссон, которая была обвинена в колдовстве и должна быть изгнана. Решив сам увидеть ее, король приглашает весь двор нанести ей визит инкогнито (финальный ансамбль Ogni cura si doni al biletto).
В доме возле гавани госпожа Арвидссон заклинает духов и предсказывает моряку Кристиану, что он скоро станет богат и будет повышен в чине (Re dell’abisso). Король, явившись переодетым, подкладывает деньги и бумаги в карман Кристиана. Когда моряк находит нежданный подарок, все восхваляют пророческий дар Ульрики. Густав прячется, когда колдунья отсылает прочь всех посетителей, чтобы принять Амелию, – графиня страдает от любви к королю и просит помощи. Ульрика дает ей совет: нарвать волшебной травы после наступления темноты (Della città all’occaso). Амелия уходит, Густав решается последовать за ней этой ночью. Являются Оскар и придворные, и король просит госпожу Арвидссон погадать по его руке (Di tu se fedele). Она говорит ему, что он умрет от руки друга. Густав смеется над пророчеством и требует назвать имя убийцы (E scherzo od è follia), и Ульрика отвечает, что им станет первый, кто пожмет ему руку. Когда входит Анкарстрём, Густав берет его за руку, говоря, что пророчество ложно – граф Анкарстрём его самый верный друг. Узнав своего короля, толпа приветствует его, в то время как заговорщики злобно ропщут.
Действие второе
Амелия, которая последовала совету колдуньи набрать травы этой ночью, надеется, что сможет освободиться от любви к королю (Ecco l’orrido campo… Ma dall’arido stelo). Когда появляется Густав, она просит его оставить ее, но, наконец, они не могут сдержать своих чувств и признаются в любви друг другу (Non sai tu che se l’anima mia… Ah, qual soave brivido). Внезапно входит граф Анкарстрём, дабы предупредить короля, что убийцы совсем близко. Амелия успевает накинуть вуаль на лицо. Густав берет со своего друга обещание проводить женщину обратно в город, не поднимая ее вуаль, и скрывается (терцет Odi tu come fremono cupi). Найдя Анкарстрёма вместо желанной жертвы, заговорщики отпускают издевательские шутки о его спутнице, скрытой под вуалью. Поняв, что ее муж скорее будет биться с убийцами, чем нарушит обещание, данное Густаву, Амелия скидывает вуаль, чтобы спасти его. Заговорщики потешаются над постыдным положением, в котором оказался Анкарстрём. Граф, пораженный предательством короля и мнимой изменой жены, просит Хорна и Риббинга прийти следующим утром к нему домой.
Действие третье
Покои Анкарстрёма. Граф грозится убить Амелию, и она просит позволить ей увидеть их маленького сына перед смертью (Morrò, ma prima in grazia). Когда она уходит, Анкарстрём говорит себе, что это королю должен он отомстить, а не супруге (Eri tu che macchiavi quell’anima). Являются Хорн и Риббинг, и граф объявляет им, что присоединяется к заговору. Все трое решают бросить жребий, чтобы определить, кому убивать короля (терцет Dunque l’onta di tutti sol una), и Анкарстрём заставляет свою жену выбрать один из листов бумаги. Когда оказывается, что на листе написано его имя, граф вне себя от радости. Приходит Оскар, неся приглашение на бал-маскарад. Пока убийцы радуются такому случаю осуществить свои намерения, Амелия решается предупредить короля.
Тем временем Густав, находясь в одиночестве в своем кабинете, принимает решение отказаться от своей любви и отправить Анкарстрёма с Амелией в Финляндию (Si, rivederti, Amelia). Оскар приносит ему анонимное письмо, предупреждающее о заговоре с целью убить короля, но тот, не вняв предупреждению, отправляется на бал-маскарад. В бальной зале Анкарстрём пытается узнать у Оскара, в какой костюм одет король. Паж отвечает уклончиво, но, в конце концов, называет маску Густава. Король встречается с Амелией, и она снова предостерегает его (дуэт Ah! perchè qui!... fuggite). Отказавшись покинуть бал, он повторяет ей слова любви и сообщает, что отошлет от двора ее и ее мужа. Когда влюбленные прощаются, Анкарстрём стреляет в короля. Умирающий Густав прощает своего убийцу, признается, что любит Амелию, но клянется ее мужу, что она невинна (Ella è pura…). Присутствующие оплакивают короля и восхваляют его доброту и щедрость.