Опера начинается с того, что главный герой - гусляр Садко поет. В песне он обвиняет богатых гостей (в разгаре пир) в том, что они не хотят открывать новые страны, а сидят на своем золоте. Его никто не понимает.
Тогда Садко сетует у озера, там и засыпает в печали. Но его песню слышала царица водная и ее подруги. Они выходят на берег. Водная Волохва жалеет Садко, она дарит ему чудо: как он вдруг закинет сеть в это озеро, так и вытащит трех золотых рыбок.
К жене Любаве возвращается Садко с мыслями о новой жизни. И вот герой идет в город, где его ждут богачи, которые хотели бы от него избавиться. Лишь бедняки поддерживают смелого мечтателя в борьбе с богачами. Возникает спор, и Садко бьется об заклад, что вытащит из озера сразу трех золотых рыбок, которых там и не водилось никогда. Богачи смеются, ставят на кон свои торговые лавки. И конечно, проигрывают... Но герой не берет их, рыбки превратились в горы золота для него.
Садко исполнил свою мечту - он путешествует. И вот идет его корабль по морю-океану, но вдруг замирает. Оказывается, что Садко много лет уже колесит по водам, а дань морскому царю ни разу не заплатил. Стали моряки бросать за борт золото и драгоценности, но корабль не двигается. Вот и поняли они, что требует Царь настоящую жертву... Бросили жребий, то есть каждый - перо на воду. Все остались на глади морской, а перо Садко камнем пошло ко дну. Понял Садко, что ждет его сам Царь.
Не испугался мечтатель, очутился при морском дворе. Сумел успокоить Царя разобиженного, сыграл ему и спел. Да так, что буря поднялась.
Спас всех моряков Богатырь. Он тут же отобрал власть у Царя и выгнал на сушу его дочь (ту самую Волохву). Садко тоже оказался на берегу. Дочка морского Царя любит его, но не может быть с ним - она превращается в речку. А Садко возвращается к жене.
Опера показывает множество национального колорита. Но учит она умеренности: исполнил мечту - вернись домой, ездил по морю - заплати дань