Piękna Aurora (Elle Fanning) i książę Filip (Harris Dickinson) postanawiają się pobrać. Ich małżeństwo ma przynieść pokój i zgodę między dwoma monarchiami i magicznymi istotami. Nie każdy jednak cieszy się ze szczęścia młodych. Królowej Ingrith (Michelle Pfeiffer), matce Filipa, nie podoba się wybranka syna. Podczas uczty dochodzi do awantury, w trakcie której Diabolina (Angelina Jolie) traci nad sobą panowanie. Niespodziewanie król John (Robert Lindsay) zapada na tajemniczą chorobę. Okazuje się, że to sprawka magii. Podejrzenia natychmiast padają na potężną czarownicę. Diabolina musi uciekać z pałacu. Wkrótce będzie musiała zapomnieć o doznanym upokorzeniu, aby ocalić swoją podopieczną.