Картина первая. Прошло двенадцать лет. Посредине открытого моря стоит корабль Садко, не трогаясь с места. Корабельщики бросают в море бочки с золотом, серебром и жемчугом как дань Морскому царю за то, чтобы он не удерживал корабль и отпустил его вслед за остальными кораблями, которые вольно плывут по морю. Видя, что бросание в море дани не помогает беде, Садко предполагает, что Морской царь требует человеческой жертвы, и предлагает бросить жребий, кому опуститься на дно. Дружина бросает жребий, и он достаётся Садко. Он догадывается, что не Царь, а Царевна Морская требует его к себе. Он сходит по ступенькам в море, становясь на положенную на воду доску. Тотчас же паруса надуваются, и корабль уплывает. Садко остаётся один на море. Из глубины к нему доносится голос Царевны: «Ты верен был мне двенадцать лет, до веку я твоя, Садко!». Затем Садко с доской опускается в морскую глубину.
Картина вторая. Там он оказался в лазоревом подводном тереме перед царем Морским и царицей Водяницей. Царь приказал Садко петь величальную песню, и так ему понравилось чудное пение, что он предложил гусляру остаться и взять себе в жены царевну Волхову. Подводные жители встречают молодых веселыми танцами. Вот и сам Садко взялся за гусли, и все царство пустилось в неистовую пляску. На море поднялась буря, стали тонуть корабли, но появился Старчище могуч-богатырь и тяжкой палицей выбил гусли из рук Садко. Он возвестил конец власти царя Морского, а дочери его назначил стать рекой. Царство подводное погрузилось в морские глубины и пропало, а Садко с Волховой в раковине, запряженной касатками, устремился на волю, к Новгороду.