Radnja se odvija u bajkovitom kraljevstvu Perador u XII. Stoljeću, a danas u Londonu, na lunarni dan 31. lipnja.
Kraljevstvo Perador
U malom kraljevstvu Perador, u jednom od vazalnih posjeda kralja Arthura, vlada kralj Meliot. Život ide mirno i tiho. Jedina kći i nasljednica kralja, princeza Melicenta, i njezine dvije sluškinje Nineth i Alison provode čitave dane u vezanju ili u društvu dvorskog glazbenika Lamisona. Djevojke su umorne od monotonog načina života, žele zabavu. Čarobnjak Malgrim posudio je Melicentu čarobno ogledalo. Prikazuje onoga koji misli na vas. Princeza je tamo ugledala neobičnog muškarca po imenu Sam. Zanimao ju je tajanstveni stranac, sve njegove misli sada su samo o njemu. Sam nije u Peradoru, a princeza šalje dvorskog patuljka Grumet-a Malgrimu, tako da joj čarobnjak pomaže da upozna Sama. Čuvši to, kralj proglasi kćer bolesnika, Malgrima - šarlatanom, a patuljak - pijanicom. Poziva dvorskog liječnika Jarveyja. Kralj kaže svojoj kćeri da uzima lijekove koje je propisao liječnik i vezuje sluškinje, a on sam odlazi na konferenciju u Camelot, u rezidenciju kralja Arthura.
London
U reklamnoj agenciji radnici rade na skici za reklamu čarapa. Umjetnik Sam Penton napravio je portret princeze Melicenta Peradora radi reklame. Tijekom rada, Samu je princeza toliko oduzela da je postala djevojka njegovih snova. Sam misli da ga promatra patuljak. Čuvši to, zaposlenici se čude što nitko nije vidio patuljka. Iznenada, Sam javlja da je danas 31. lipnja. Prijatelji pozivaju liječnika koji liči na liječnika iz Peradora. Liječnik kaže da Sam ima halucinacije i propisuje mu lijek. U međuvremenu, pred svima očima, patuljak je otet crtežom i nestao.
Kraljevstvo Perador
Princeza Melicent izlijeva dušu Ninethu. Tajanstveni stranac Sam potonuo je u djevojčinu dušu, ali od patuljka još uvijek nema vijesti. Malgrim nudi princezi razmjenu. Jednom je čarobnjak Merlin dao svom ocu zlatni broš. Ako je Melicent pruži Malgrimu, on će joj pomoći da se poveže sa Samom. Dok Melicent razmišlja o tome što učiniti, pojavljuje se mali starac Marlagram. Obećava svoju pomoć princezi i poziva svog nećaka na natjecanje. Malgrim se slaže sa zavidnom Ninethom kako bi spriječio Sama i Melicenta da se sastanu.
London
Sam se dolazi opustiti u baru Black Horse. Tamo upoznaje skipera Plunketa. Patuljak također dolazi u bar, kojeg nitko ne vidi osim Sama. Odjednom se pojavi impozantni čovjek. On se Samu pojavljuje kao iluzionist Malgrim. Malgrim se slaže s umjetnikom da i danas, 31. lipnja, također vidi patuljak. Tvrdi da je princeza Melicent stvarna osoba, ali živi u 12. stoljeću u Peradorskom kraljevstvu. Malgrim predlaže pomoć Samu da je upozna. Povodeći s njima pijanog planeta, koji je siguran da je Perador bar, muškarci odlaze kroz zid.
Šef reklamne agencije Dimmock je u gubitku: skicu trebate predati kupcu, a slika je nestala i umjetnik Sam je nestao na isti način. U uredu se rade popravke i zbog toga se čuje bučna buka od bušenja, a onda je iz ormara istrčao veliki štakor. Ali u uredu se pojavljuje vrlo lijepa djevojka u srednjovjekovnom kostimu. Tvrdi da je princeza Melicent, zaljubljena u Sama, a štakor je čarobnjak Malgrim. Dimmock odlučuje da je Melicent sljedeći model za umjetnika, koji je strastven prema njemu i šalje je na filmske projekcije. Na sve probleme iz kabineta cvili. Iz bijesa kuhar pogleda u njega i nestane.Tajnica Peggy, uplašena za šefa, nestaje za njom, a nestaje i zaposlenica Anne, koja je došla. Nazvao ju je Peggy, dr. Jarvis otvara ormar i vidi samo police prepune knjiga.
Kraljevstvo Perador
Jednom u Peradoru, Sam je izgubio planetu i malgrima, ali je upoznao Nineth. Podmukla sluškinja nahranila je gladnog gosta, pokušavajući ga uvjeriti da je princeza Melicent glupa i naivna i da je ona za njega najprikladnija zabava. Kralj koji se vratio u dvorac, čuvši od Malgrima da je Sam vitez o kojem princeza sanja, šalje nepoznatu vrstu bez vjerodajnica u tamnicu.
Trijumf Nineta i Malgrima: Sam i Melicent zauvijek su razdvojeni!
London
Na televiziji se pripremaju za sljedeći program, "Rasprava uživo". Domaćin je očekivao "tip sela", ali na njegovom su se mjestu pojavili Marlagram i Melicent. Gosti programa moraju odgovarati na pitanja domaćina. Marlagram prska riječima, ali Melicenta, koja ništa ne razumije, brine se za Sama. Saznavši od Marlagrama da je njen ljubavnik u zatvoru, princeza napušta šou, usprkos nedaćama koje reklamiraju tvrtke. Prema savjetu Marlagrama, Melicent odlazi u bar Black Horse.
Kraljevstvo Perador
U hladnoj vlažnoj tamnici, Sam dolazi u posjet Plunketu, koji se prerušio u kapetana straže kako bi pomogao prijatelju. Plunket je upoznao šefa reklamne agencije Dimmock i sakrio ga. Nakon što skiper ode, Marlagram ulazi u zatvor. Obećava da će pomoći Samu da se sretne sa svojom voljenom. Marlagram je napustio slučaj i za vrijeme njegove odsutnosti nećak je odigrao okrutnu šalu. Marlagram će pokupiti Melicentu iz Crnog konja i dostaviti je Samu.
London
Malgrim se pojavljuje u baru Black Horse. Tamo susreće ujaka. Tamo dolazi Melicent u pratnji zaposlenika reklamne agencije Philip. Marlagram mu natoči egzotično piće - zmajevu krv. Dok Filip okusi neobičnu tekućinu, Marlagram nestaje s princezom.
Kraljevstvo Perador
Kralj Meliot prima Planet i Dimmocka. Plunket poziva kralja da organizira turizam u Peradoru. Ali kralj, ne razumijevajući moderni porezni sustav, bijesan je i naređuje stražarima da uhvate nesretne poduzetnike. U ovom trenutku u sobu ulaze Nineth i Malgrim. Malgrim vodi goste sa sobom, a podmukli Nineth pokušava nagovoriti kralja da ostane sam s njom. Njezine pohode prekidaju oni koji uđu u Marlagram i Melicent. Kralj najavljuje svojoj kćeri da će sutra biti viteški turnir, a pobjednik će biti njen suprug. Čuvši njezinu kaznu, princeza obećava Marlagramu brošu s Merlinom ako joj pomogne da se uda za Sama. Marlagram najavljuje da se kraljevstvu približavaju dvije opasnosti: nepoznati Crveni vitez i Zmaj koji proždire. Onaj koji pobijedi na turniru Crvenog viteza i pobjedi Zmaj - samo on se oženi princezom Melicente. Budući da je u tom trenutku udario grom, kralj se s strahom slaže.
Noću su stražari stavljali Sama u okove. Nakon što odu, Marlagram ulazi u zatvor. Donosi Samu ukusnu večeru i donosi Melicent. Oni najavljuju Samu da na turniru, koji će se održati u šest ujutro, treba pobijediti Crvenog viteza i Zmaja, tek tada se može oženiti Melicentom. Sam je prestravljen: nikad se ni s kim nije borio, pa čak ni u tako ranoj dobi!
Sam se priprema za dvoboj u šatoru. Nineth i Malgrim zamjenjuju odjeću koju je Melicent pripremio za staro smeće. Oni šalju barmena iz Crnog konja Samu. Morala bi predstaviti „turnirsko pivo“ od kojeg će Sam imati slabost i vrtoglavicu.
Dvoboj je započeo. Crveni vitez pritišće i gura Sama. Nalazeći se u šatoru, Crveni vitez traži turnirsko pivo. Ostavljen sam sa Samom, vitez skida svoj oklop i glavu s njima. Začudo, ispod glave je Planet.Skiper objašnjava umjetniku da ga je Malgrim pretvorio u Crvenog viteza.
U šatoru, bez gledatelja, Sam i Plunket igraju bitku u kojoj Sam pobjeđuje. Izvadi glavu gubitnika iz šatora i pokaže je publici. Kralj Meliot vitez je umjetnik. Sada trebate pobijediti Zmaja.
Kralj nudi Samu izbor: da ode, budući da je već slobodan ili da se bori sa Zmajem, tada će se u slučaju pobjede Sam moći oženiti Melicentom. Sam bira dvoboj. Princeza donosi svome ljubavniku staru knjigu koja sadrži sve podatke o zmajevima.
Plunket brine o Zmaju koji spava na čistini. Anne i Peggy izlaze iz šume. Tajnica traži svog šefa, a Ann zanimaju lokalne atrakcije. Sam, koji je došao s knjigom, proučava uspavanog Zmaja kako bi se borio protiv njega prema svim pravilima dragonografije. No, ispostavlja se da je Zmaj nitko drugi nego njegov kuhar Dimmock, koji je Malgrim pretvorio u Zmaja. Dimmock traži od Sama da nađe jednog od čarobnjaka koji će ga očarati, a u znak zahvalnosti predstavit će svog spasitelja u upravnom odboru tvrtke. Da bi stvorio izgled borbe protiv Zmaja, Dimmock Zmaj proguta polovicu Saminog mača. Sam i Plunket, koji su voljeli Anne, idu za čarobnjacima, a Dimmock u obliku Zmaja diktira pismo Peggyjevoj tajnici.
Princeza Melicent nestala. Zabrinuti kralj podigao je sve sluge na noge. Sam, primjećujući da među dvorjanima nema Ninet i Malgrim, sugerira da su oni uključeni u nestanak njezine voljene. Marlagram savjetuje da ide u zatvor.
London
U tamnici Sam pada. Probudivši se, nađe se u rodnom Londonu, na izložbi. U potrazi za Melicentom u gomili, Sam vidi prizor u kojem se odaju počast pobjednicima. Vođa je sam Malgrim, a Nineth mu pomaže. Pobjednik u natjecanju slastičara proglašen je tvrtkom Melicent. Na pitanje o njenoj želji, princeza odgovara da želi vidjeti Sama. Čuvši to, Sam žuri prema Melicenteu, ali trgovac smrznutom ribom blokira put. Između muškaraca izbila je svađa i Sam gubi svijest od udarca u glavu. Umjetnik dolazi u policiju. Policijski inspektor pušta pritvorenike. Rukujući se, oni se razilaze u različitim smjerovima.
U gadnom raspoloženju, Sam luta kroz kišni grad, u Peradoru kostimu. Iznenada se zaustavi taksi u blizini njega. Ispada da je vozač Marlagram, dok Melicenta sjedi u autu.
Kraljevstvo Perador
Za doručkom Marlagram i Malgrim rezimiraju svoje natjecanje. Njihov razgovor prekida pojavljivanje Sama, Plunketta, Melicenta i Dimmocka. Sam i Melicent planiraju se vjenčati, a Sam bi trebao zamoliti princezu za kraljeve ruke. Dimmock i čarobnjaci se slažu da će stvoriti novu tvrtku koja će se baviti turizmom između Engleske i Peradora.
Epilog
Kako bi proslavili vjenčanje Sama i Melicenta, čarobnjaci su se morali potruditi. Vjenčani stol povezuje Dimmockov ured i banketnu dvoranu kralja Meliota. U uredu šefa u tijeku su popravci, a buka vježbi ne dopušta govor dobrodošlice. Tada čarobnjak Marlagram poziva goste u Perador na predah od civilizacije.
Mladi odlučuju da će živjeti u oba svijeta. Zahvaljuju gostima uz pratnju lutnje dvorskog glazbenika Lamisona.