A történet a költeményhez hasonlóan tüzes napsütéssel kezdődik. Kukoricza Jancsi juhászbojtár, a fűben heverészve és furulyázva a gazda juhait őrzi. Egy távoli énekhangot hall – szerelme, a kökényszemű Iluska az, amint éppen ruhát mos a patakban. Jancsi csókot ígér Iluskának, ha kijön a patakból és odamegy hozzá.
A szerelmeseket Iluska mostohájának érkezése riasztja fel. A mostoha szidja Iluskát, de Jancsi megfenyegeti, hogy ne merészelje bántani. A mostoha és Iluska hazaindulnak. Jancsi ekkor veszi észre, hogy a nyáj megszökött, az utolsó báránya is felhővé változott. Egyedül, szomorúan indul haza, a gazda elébe. A gazda eleinte tréfának hiszi, hogy nem látja a nyájat, de utána megdühödik és elzavarja Jancsit. Jancsi elbúcsúzik Iluskától és világgá megy.
A vándorlás során egy sűrű erdőbe jut és a sötétben rátalál a rablók tanyájára. A rablók vezére éppen a zsákmányt osztja – „Egyet neked, egyet nekem...” Jancsi közéjük lép, és mikor kijelenti, hogy neki már nem kedves az élet, a zsiványok maguk közé fogadják és nagy mulatozás kezdődik. Mikor álomba merülnek, Jancsi a rablott kincs láttán kísértésbe esik – „Megtöltöm tarisznyám ...” –, de aztán észbe kap, hiszen tán minden darabhoz vér tapad. A zsiványok egy leeső pénzdarab pengésére felébrednek és körülállják Jancsit, aki a lámpással felgyújtja a házat és elmenekül.
A pusztában folytatja a vándorlását, mikor a délibábból egy vonuló huszárcsapat bontakozik ki. Jancsi is beáll közéjük. A huszárok Franciaországba tartanak, amit megtámadott a török. Hegyen-völgyön át haladnak, keresztül a zord, jeges Taljánországon; át a kutyafejű tatárok földjén, akik megkergetik őket; át India földjén, keresztül az égig érő hegyen, aminek a túloldalán leszánkázva már ott is vannak Franciaország határánál. A sorompónál maga a francia király fogadja őket, elpanaszolja a törökök dúlását, és leánya kezét ígéri annak a huszárnak, aki megmenti a leányt, akit elrabolt a török szultán. A huszárok lepihennek a hosszú út után, hogy másnap hajnalban csatarendbe álljanak.
Nagy csata kezdődik, melyben a magyar huszárok győzedelmeskednek, és felgöngyölik a törököket, mint egy szőnyeget. Egy török elvágtat, Jancsi utána ered, és ekkor kiderül, hogy ez a szultán fia, aki menekül az elrabolt királylánnyal. Jancsi kettévágja a törököt, mire az két darabban világgá szalad.
A csata után a francia király nagy fogadást rendez. Jancsit a király átkereszteli, ettől fogva János Vitéz a neve. Ígéretéhez híven hozzá akarja adni a királylányt, de János ezt nem fogadhatja el, és elmeséli a történetüket Iluskával. A király gazdagon megjutalmazza, és János hajóval hazaindul Iluskájához
A faluban üres ház fogadja. A falubeliek elmesélik, hogy Iluska meghalt, eltemették, a mostoha pedig koldusbotra jutott.
Sok baja volt biz a szegény teremtésnek;
Kivált mostohája kinzása töré meg.
De meg is lakolt ám érte a rosz pára,
Mert jutott inséges koldusok botjára.
– (18.)
János a temetőben a sírhanton nőtt rózsát magához veszi, hogy az legyen útmutatója a keresésben, míg a halál el nem éri. Zord utakon vándorol, mígnem az óriások földjére ér. Az óriások éppen ebédelnek, kősziklával kínálják őt is. János egy követ a király homlokához vág, mire az holtan rogy össze. Az óriások Jánost királyukká választják, de ő csak annyit kér, hogy amikor szüksége van rájuk, jelenjenek meg előtte. Az óriások kijelölt vezére egy sípot ad neki, amivel hívhatja őket, ezzel János továbbindul.
Sötét éjszakában a sötétség országába jut, ahol rátalál a boszorkányok körtáncára. A boszorkányok megtámadják, de egy izzó seprűvel visszaveri őket. Feltűnik a gonosz mostoha is boszorkány képében, János megöli. Feltűnik Iluska jelenése a boszorkányok üstjéből szabaduló lelkek között.
János az Óperenciás tenger partjára ér. A tenger nem hajlandó továbbengedni, mindig partra veti. János ekkor a síppal az óriásokat hívja, és az egyik óriással nekiindulnak a tengernek. Sokáig mennek, mikor egyszer János földet pillant meg. Az óriás elmondja hogy az a tündérek szigete, a világ szélén, utána a tenger a semmibe veszik. Figyelmezteti Jánost, hogy a szigetet szörnyek őrzik, de János nem hátrál, így az óriás lerakja a sziget partjára és visszafordul.
A szigetet egy tüzes sárkány őrzi, el akarja emészteni a betolakodót. János beugrik a sárkány torkába, ami elnyeli őt, vesztére: János megtalálja a sárkány szívét és összeszorítja. A sárkány szíve megáll és a lény szétfoszlik a levegőben. János Tündérországban találja magát.
A tündérek körbevezetik földjükön. Egyik tündér egy tündéralmát ad neki, amire ő is tündérré változik. János vitézt a tündérek királlyá koronázzák. Megjelenik Iluska is, mint királynő. A szerelmesek végre találkoznak:
A tündérnemzetség gyönyörű körében
S kedves Iluskája szerető ölében
Mai napig János vitéz őkegyelme
↑Petőfi Sándor. János vitéz, eredeti kiadvány: Petőfi Sándor összes költeményei, Budapest: Szépirodalmi Könyvkiadó [1844] (1974). ISBN 9631500438. Hozzáférés ideje: 2018. május 27.
↑Jankovics Marcell. (2011). János Vitéz (DVD 5) (magyar nyelven) [DVD]. International Publishing House. A jelenet helye a filmen: 74 perc. (Hozzáférés ideje: 2018-05-27.)