Волшебный замок Наины. Девы, подвластные колдунье, приглашают путников укрыться в замке. Здесь же тоскует возлюбленная Ратмира — Горислава. Появившийся Ратмир не замечает ее. В замок Наины попадает и Руслан: он очарован красотой Гориславы. Витязей спасает Финн, разрушающий злые чары Наины. Ратмир, возвращенный Гориславе, и Руслан вновь отправляются в путь на поиски Людмилы.
В садах Черномора томится Людмила. Она тоскует по Киеву, по Руслану и готова покончить с собой. Невидимый хор слуг уговаривает ее подчиниться власти чародея. Но их речи вызывают лишь гнев гордой дочери Светозара. Звуки марша возвещают о приближении Черномора. Рабы вносят на носилках карлика с огромной бородой. Начинаются танцы. Внезапно раздается звук рога. Это Руслан вызывает Черномора на поединок. Погрузив Людмилу в волшебный сон, Черномор уходит. В бою Руслан срезает Черномору бороду, лишая его чудесной силы. Но он не может пробудить Людмилу от волшебного сна.
В долине разбит стан Руслана. Ночь. Ратмир охраняет сон друзей. Вбегают испуганные рабы Черномора, которых Руслан освободил из-под власти злого волшебника. Они сообщают, что невидимой силой вновь похищена Людмила, вслед за которой скрылся и Руслан.
Фарлаф, похитив с помощью Наины княжну, привез ее в Киев, Но никто не в силах пробудить Людмилу. Светозар оплакивает дочь. Неожиданно появляется Руслан. Волшебным перстнем Финна он пробуждает княжну. Ликующие киевляне славят храброго витязя, воспевают отчизну.