Az egyik legrégibb magyar ünnep a keresztény magyar államalapítás, a magyar állam ezeréves folytonosságának emléknapja. I. István még augusztus 15-ét, Nagyboldogasszony napját avatta ünneppé. E napon hívta össze Fehérvárra a királyi tanácsot és tartott törvénynapot, élete végén a beteg király ezen a napon ajánlotta fel az országot Szűz Máriának, és 1038-ban ezen a napon halt meg. Az uralkodóról halála után augusztus 15-én emlékeztek meg, ünnepét Szent László király tette augusztus 20-ára, mert 1083-ban ezen a napon emelték oltárra István király relikviáit a székesfehérvári bazilikában, ami a szentté avatásával volt egyenértékű. Szent István király ünnepének megtartásáról már az 1222. évi Aranybulla első pontja is rendelkezett.
I. (Nagy) Lajos uralkodásától (1342-1382) kezdve egyházi ünnepként élt tovább ez a nap. István kultusza Európa-szerte elterjedt, de a királyt az egyetemes egyház nevében csak 1686-ban nyilvánította szentté XI. Ince pápa, ünnepnapja szeptember 2. lett. A pápa azt is elrendelte, hogy Buda töröktől való visszafoglalásának évfordulóján az egész katolikus világ minden évben emlékezzen meg Szent István ünnepéről, amelyet az egyetemes egyház 1969 óta augusztus 16-án (egy nappal Nagyboldogasszony napja után) tart.
XIV. Kelemen pápa 1771-ben csökkentette az egyházi ünnepek számát, és a Szent István-nap megülése is kimaradt az ünnepek közül. Mária Terézia szinte ugyanekkor – a pápa hozzájárulásával – elrendelte, hogy a szent király ünnepe, augusztus 20. Magyarországon nemzeti ünnep legyen, és a naptárakba felvétessék. A királynő ugyancsak 1771-ben Raguzából (Dubrovnik) Bécsbe, majd Budára hozatta István kézfejereklyéjét, a Szent Jobbot, amelyet ettől kezdve minden év augusztus 20-án körmenetben vittek végig a városon. A legenda szerint István ereklyéjét 1083-as szentté emelésekor épen találták meg koporsójában. A tatárjárás vagy a török idők alatt elveszett, majd 1590 körül a raguzai dominikánus kolostorban találtak rá. A Szent Jobbot, amelynek ereklyetartóját 1862-ben készítették, a második világháború végén a Szent Koronával együtt nyugatra menekítették, és 1945. augusztus 18-án hozták haza. Ma Budapesten, a Szent István-bazilikában őrzik.
Az 1848-49-es szabadságharc leverése után hosszú ideig nem tarthatták meg az ünnepet, mert Szent István a független magyar állam jelképe volt. Amikor 1860-ban ismét megünnepelhették a napot, az valóságos nemzeti tüntetéssé vált. Az 1867. évi kiegyezés után az ünnep visszanyerte régi fényét, 1891-ben I. Ferenc József az ipari munkások számára is munkaszüneti nappá nyilvánította augusztus 20-át, 1895-ben pedig a belügyminiszter elrendelte, hogy ezen a napon címeres zászlóval lobogózzák fel a középületeket.
A két világháború között az ünnep kiegészült a Szent István-i, azaz a Trianon előtti Magyarország visszaállítására való folyamatos emlékezéssel, emlékeztetéssel. Az 1938. augusztus 18-án, Szent István halálának 900. évfordulója alkalmából Székesfehérváron összeülő Országgyűlés (a kihelyezésre egy négy nappal korábban alkotott törvény adott lehetőséget) az 1938. évi XXXIII. törvénnyel augusztus hó 20. napját Szent István király emlékezetére nemzeti ünnepnek nyilvánította.
A második világháború után augusztus 20-át egyházi ünnepként csak 1947-ig ünnepelhették nyilvánosan, az akkor több százezer embert vonzó Szent Jobb-körmenetet a következő évben már betiltották. A kommunista rendszer az ünnep vallási és nemzeti tartalmát nem vállalta, de teljes megszüntetését sem látta célszerűnek, inkább változtatott rajta. A munkaszüneti napnak megmaradt, szekularizált ünnepet először az új kenyér ünnepének nevezték el, majd új, szocialista államalapításként 1949. augusztus 20-ára időzítették a szovjet mintájú alkotmány hatályba léptetését. 1949 és 1989 között augusztus 20-át az alkotmány napjaként ünnepelték, 1950-ben az Elnöki Tanács törvényerejű rendelete a Magyar Népköztársaság ünnepévé nyilvánította.
A rendszerváltozással felelevenedtek a régi tradíciók, 1989 óta ismét megrendezik a Szent Jobb-körmenetet. Az 1990-es első szabad választások után megalakult Országgyűlés 1991. március 5-én a nemzeti ünnepek – március 15., augusztus 20., október 23. – közül Szent István napját nyilvánította a Magyar Köztársaság hivatalos állami ünnepévé. A 2012. január 1-jén hatályba lépett alaptörvény is nemzeti ünnepként, Magyarország hivatalos állami ünnepeként rögzíti augusztus 20-át. Ezen a napon rangos állami kitüntetéseket adományoznak, ekkor adják át többek között a 2011-ben újraalapított Magyar Szent István-rendet, a legmagasabb állami kitüntetést.