1886 januárjában Moszkvában, az Anyegin bemutatóját követő időszakban talált rá Hippolit SpazsinyszkijA varázslónő című librettójára, amelynek egyes jeleneteiről úgy tartotta, hogy hatásosak lennének operaszínpadon. Szeptemberben kezdett hozzá a komponáláshoz. Októberben fejezte be a komponálást, majd decemberben Moszkvába utazott megbeszélni a bemutató körülményeit. De semmi esély nem volt arra, hogy az évadban még bemutatásra kerüljön. A következő év első felében tett utazásai során átdolgozta a művet. Októberben Pétervárott megkezdődtek a próbák. A darabot november 11-én mutatták be a zeneszerző vezényletével, nagy sikerrel.
Nyizsnij-Novgorod helytartójának írnoka, Mamirov megvádolja Nasztaszját, az Oka folyó átkelőjénél álló fogadó kocsmárosnéját, hogy boszorkány. Teszi mindezt azért, mert úgy gondolja, hogy a szép nő elcsábítja a közelébe kerülő férfiakat. Nasztaszjának egyedül Jurijt, a herceg fiát nem sikerül megbabonáznia, pedig az összes jelentkező férfi közül éppen ő tetszik meg neki. A nagyherceg is eljön a fogadóba, hogy személyesen vizsgálja meg a helyzet. Nasztaszja őt is megbabonázza. A szerelmes herceg megszégyeníti a feljelentőt és megszünteti a vizsgálatot. Mamirov azonban nem hagyja annyiban és bosszút esküszik és mindent elmond a hercegnének. Időközben Jurij is tudomást szerez arról, hogy apja túl sok időt tölt a fogadóban. A féltékeny hercegné elárulja fiának, hogy a herceget Nasztaszja megbabonázta. A dühös Jurij eldönti, hogy végez a varázslónővel. Elmegy hozzá és már döfésre emeli a tőrét, de az asszony szépsége őt is megbénítja. A kocsmárosné szerelmet vall Jurijnak és azt is hozzáteszi, hogy apjának közeledését következetesen visszautasította éppen emiatt. A szerelmesek elhatározzák, hogy elmenekülnek. Erről tudomást szerez a hercegné, aki fiáról sem akar lemondani a varázslónő javára, ezért elmegy a fogadóba és megmérgezi a szép asszonyt. Nasztaszja Jurij karjaiban hal meg. Közben a herceg is tudomást szerez a helyzetről és csalódva szerelmében és fiában, felindulásában megöli a fiát. an herceg megöli fiát.