A mai Horvátország területén a kora középkorban több párhuzamos politikai és kulturális tér szerveződött, amelyeket a későbbi horvát nemzeti történetírás gyakran egységes előzményként kezelt, a források azonban ennél összetettebb képet mutatnak. A szláv betelepülés a 6–7. században elsősorban a Száva–Dráva közén, valamint a Dinári-hegység és az Adriai-tenger közötti part menti hátországban hozott létre új településterületet; ezek a közösségek nem alkottak egységes politikai szervezetet, hanem kisebb területi egységek, ún. zsupánságok (horvátul županija) keretei között éltek. A 9. századi frank hódítás ezt a területet a Karoling Birodalom perifériájává tette, és a frank hűbéri intézmények, valamint a latin kereszténység terjedése egyaránt hozzájárult a korai horvát államiság kialakulásához.
A 9. század közepén a trpimirović-dinasztia (horvátul Trpimirovići) uralma alatt a horvát területek egy része tartós politikai szervezetté vált. A forrásokban Trpimir (uralk. kb. 845–864) az első, aki magát a dux Croatorum („a horvátok fejedelme”) címmel illette, bár a cím pontos tartalma és a tényleges hatalom kiterjedése nem rekonstruálható pontosan. A 9. századi források – korabeli frank évkönyvek, pápai levelek, valamint a későbbi bizánci és velencei elbeszélő források – töredékesek, és a dinasztia korai története számos ponton csak a későbbi hagyományra támaszkodik. A frank–bizánci vetélkedés a keleti Adriai-tenger partvidékén azt eredményezte, hogy a horvát területek egyszerre voltak kitéve a frank hűbéri hatalomnak, a bizánci tengeri jelenlétnek és a formálódó pápai egyházi befolyásnak.
A 10. században a horvát hatalmi központ fokozatosan a part menti területekről a hátország felé tolódott, különösen a Knin környéki területre. A Tomiszláv (uralk. kb. 910–928) nevéhez kötött hagyomány szerint a horvát uralkodó a 925. évi spliti zsinaton már királyként (latinul rex) szerepelt, és a pápai levelezésben a regnum Croatorum kifejezés is feltűnik. A spliti zsinat dokumentumai azonban nem maradtak fenn eredeti formájukban, és a zsinat határozatai csak későbbi másolatokból ismertek. A történettudományban ezért vitatott, hogy Tomiszláv királyi címe tényleges nemzetközi elismerést jelentett-e, vagy inkább a pápai udvar retorikai gesztusáról volt szó. A 10. századi horvát állam földrajzi kiterjedése sem határozható meg pontosan: a források a pannóniai és a dalmáciai horvát területeket különböztetik meg, de a kettő közötti kapcsolat jellege – különálló fejedelemségek vagy egy közös uralkodó alatti egység – a források alapján nem dönthető el egyértelműen.
A 10–11. században a horvát királyság és a Velencei Köztársaság közötti viszony a dalmáciai tengerparti városok – Zára (horvátul Zadar), Split (olaszul Spalato), Trogir (olaszul Traù), Raguza (horvátul Dubrovnik) – feletti befolyás kérdése körül szerveződött. Ezek a városok a késő ókor óta folyamatosan lakott, latin nyelvű, római jogi hagyományú közösségek voltak, amelyek a bizánci fennhatóság hagyományát őrizték, és a 10. századtól kezdve egyre nagyobb autonómiával rendelkező kommuna-jellegű testületekké váltak. A horvát királyok uralmuk alá kívánták vonni ezeket a városokat, Velence pedig a maga részéről a bizánci hatalom örökösének tekintette magát a keleti Adrián. A 11. században IV. Krešimir (uralk. 1058–1074) horvát király tényleges hatalmat gyakorolt a dalmáciai városok egy része felett, de a Velencével való versengés nem zárult le: a 11. század végén a horvát hatalom hanyatlása ismét lehetővé tette a velencei terjeszkedést.
A 11. század végén dinasztikus válság alakult ki. A trpimirović-dinasztia utolsó ismert uralkodója, Zvonimir (uralk. 1075–1089) halála után a horvát trón örökösödési vitákba sodródott. A horvát nemesség egy része II. Péter (uralk. 1093–1097) személyében a horvát hagyomány szerint a Svačić családból választott királyt, míg mások a magyar Árpád-ház trónigényét támogatták. A magyar király, I. (Szent) László (uralk. 1077–1095) már 1091-ben katonai hadjáratot vezetett a horvát területek egy részére, és unokaöccse, Álmos herceg számára hozott létre külön horvát uralmat, amely azonban nem bizonyult tartósnak. Az Árpád-házi trónigény a későbbi horvát történetírás egyik legvitatottabb pontja: egyes értelmezések szerint családi szerződésen, mások szerint pápai jóváhagyáson, megint mások szerint egyszerű hódításon alapult.
A magyar–horvát államközösség kialakulásának hagyományos dátuma 1102, amikor Könyves Kálmán magyar király (uralk. 1095–1116) a horvát főnemesek egy részével kötött megállapodás alapján felvette a horvát királyi címet, és ezzel létrejött a perszonálunió – azaz két különálló ország közös uralkodó alatt, saját intézményekkel és jogrenddel. A megállapodás szövege nem maradt fenn eredeti oklevél formájában; a későbbi horvát rendi hagyomány Pacta conventa néven ismeri, de ennek hitelessége erősen vitatott. A történettudományban máig nincs egyetértés abban, hogy 1102-ben ténylegesen megkötöttek-e egy írott szerződést, vagy a későbbi horvát rendi identitás rekonstruálta utólag a megállapodást, hogy igazolja a magyar királlyal szembeni rendi jogait. A legvalószínűbb tudományos konszenzus szerint Kálmán 1102-es koronázása Tengerfehérváron (horvátul Biograd na Moru) egy tényleges politikai aktus volt, de a részletek – a horvát nemesség jogainak garantálása, a különálló horvát kormányzat kérdése – utólagos értelmezésben élnek tovább.
A perszonálunió kulcskérdése az volt, hogy a horvát területek milyen mértékben őrizték meg különállásukat a magyar királyságon belül. A 12–13. századi források szerint a horvát területek élén a királyt képviselő horvát–dalmát bán (latinul banus Croatorum et Dalmatinorum) állt, aki a magyar király által kinevezett, de a helyi nemesség bevonásával működő tisztségviselő volt. A báni intézmény a horvát államiság kontinuitásának egyik legfontosabb eleme, és a későbbi horvát rendi identitás alapköve. A bán hatásköre azonban a 12–13. században nem volt pontosan kodifikálva; a magyar királyok gyakran családtagjaikat – különösen a trónörökös hercegeket – nevezték ki horvát–dalmát bánnak vagy külön horvát uralkodónak, ami a perszonálunió tényleges tartalmát esetenként a magyar királyi hatalom közvetlenebb kiterjesztésévé tette.
A 12. században a horvát területek három nagyobb egységre tagolódtak: a Szlavónia (horvátul Slavonija) néven ismert Száva–Dráva köze, a Dalmácia (horvátul Dalmacija) tengerparti sávja, valamint a kettő közötti hegyvidéki terület, amelyet a források „a hegyek” (latinul Croatia montana) vagy egyszerűen Bosznia irányába nyúló területként írtak le. A magyar királyi hatalom a 12–13. században elsősorban Szlavóniában és Dalmácia városaiban volt közvetlen, míg a hegyvidéki területeken a helyi nemzetségek – a Frangepánok (horvátul Frankopani), a Šubićok (horvátul Šubići), a Kurjakovićok – gyakoroltak tényleges hatalmat. A 13. században a magyar királyi hatalom meggyengülése a tatárjárás (1241–1242) után tovább erősítette a horvát nemzetségi autonómiákat, és a 14. század elején a Károly Róbert (uralk. 1308–1342) elleni trónharcok idején a horvát nemesség önálló politikai tényezővé vált.
A dalmáciai városok helyzete a perszonálunió időszakában különleges volt. A városok – mindenekelőtt Zára, Split, Trogir, valamint a délebbi Raguza/Dubrovnik – jogilag a bizánci császár fennhatóságát őrizték, de a 12. században ténylegesen a magyar–horvát király, Velence, illetve saját kommunális autonómiájuk között egyensúlyoztak. A városok lakossága zömében latin nyelvű, római katolikus vallású, saját választott elöljárókkal rendelkező közösség volt, amely a mediterrán kereskedelembe szerveződött be; a környező hátország ezzel szemben egyre inkább szláv nyelvű, vegyes római katolikus és – különösen délen – ortodox vallású terület volt. Ez a kulturális és nyelvi kettősség a későbbi horvát–olasz, illetve horvát–szerb viták egyik gyökere, és a jelenkori emlékezetpolitikai vitákban is visszaköszön.
Velence a 12. században többször kísérletet tett a dalmáciai városok feletti hatalmának visszaállítására. III. Béla magyar király (uralk. 1172–1196) és fia, Imre (uralk. 1196–1204) idején a magyar–horvát korona aktívan védte a városokat, ami fegyveres konfliktusokhoz vezetett. A 13. század elején IV. Béla és a velencei dózse közötti szerződések a városok hovatartozását időről időre újraszabályozták. A 14. században a magyar királyi hatalom gyengülésével és a velencei tengeri hatalom növekedésével párhuzamosan a dalmáciai városok fokozatosan a velencei befolyás alá kerültek, bár a tényleges velencei uralom csak a 15. században, különösen a 1409-es zárai eladási szerződés után szilárdult meg. Ebben az évben Nápolyi László, aki a magyar–horvát trónra is igényt tartott, 100 000 aranyért eladta Velencének a Dalmácia feletti jogait. A szerződés a velencei uralom jogi alapjává vált, és a horvát történeti emlékezetben máig a „Dalmácia elvesztésének” szimbólumaként él, bár a korabeli jogi fogalmak szerint nem területi, hanem uralmi jogok átruházásáról volt szó.
Raguza/Dubrovnik külön utat járt. A város a 13. századtól kezdve gyakorlatilag független köztársaságként működött, amely formálisan a bizánci, majd a magyar–horvát király, később az Oszmán Birodalom fennhatóságát ismerte el, de ténylegesen saját tanácsai és rektora kormányozták. A Raguzai Köztársaság (olaszul Repubblica di Ragusa, horvátul Dubrovačka Republika) a középkor végétől az újkor végéig a keleti Adriai-tenger egyik legfontosabb tengeri kereskedelmi és diplomáciai központja volt. Története jól mutatja, hogy a kora középkori dalmáciai városi autonómia hosszú távú politikai formává válhatott, és hogy a „horvát terület” vagy „szerb terület” fogalma a középkorban nem volt alkalmas a tengerparti városok jogi és kulturális különállásának leírására.
A 14. századtól a horvát területek politikai szerkezete egyre inkább a rendi dualizmus képét mutatta. A magyar királyságban a 13. század végétől a nemesi vármegyék és a rendi országgyűlések intézményei formálódtak, és ezek a folyamatok a horvát területeket is érintették. A horvát–dalmát bán mellett a szlavón bán külön tisztsége is megjelent, ami azt jelzi, hogy a horvát és a szlavón területek jogi hagyománya és rendi szervezete különbözött. A 15. században a horvát nemesség tartománygyűlése (horvátul sabor, latinul congregatio generalis) rendszeresen ülésezett, és a magyar országgyűléssel párhuzamosan képviselte a horvát rendi érdekeket. A horvát sabor nem egyszerűen a magyar országgyűlés része volt, hanem saját jogú testület, amely a horvát autonómia intézményes kifejeződéseként működött. Ugyanakkor a horvát rendek a magyar országgyűlésen is képviseltették magukat, ami a perszonálunió gyakorlati működését összetett, kétszintű politikai térré tette.
A 15. század nagy kihívása az oszmán terjeszkedés volt, amely a horvát területek déli és keleti határait fenyegette. A rigómezei csata (1389) után a szerb területek fokozatosan oszmán uralom alá kerültek, és a 15. század elejétől a horvát–magyar határvédelem is egyre nehezebb helyzetbe került. A Nikápolyi csata (1396) után a magyar–horvát királyság védelmi rendszert épített ki a déli határon, és a horvát nemesség katonai szerepe felértékelődött. A 15. század közepén Hunyadi János (horvátul Janko Hunjadi) hadjáratai a horvát területeket is érintették; a nándorfehérvári győzelem (1456) idején horvát erők is részt vettek a védelemben. Az oszmán előrenyomulás azonban a 15. század végére a horvát területek jelentős részét – különösen Boszniától délre és a 16. században a horvát hátország nagy részét – idegen uralom alá juttatta, ami a horvát rendi identitásban a „védőbástya-tudat” (latinul antemurale Christianitatis) kialakulásához vezetett. Ezt a fogalmat a későbbi horvát történetírás és emlékezetpolitika erőteljesen hangsúlyozta, de a történettudományban vitatott, hogy mennyiben volt tényleges ideológiai önazonossága a 15–16. századi horvát nemességnek, és mennyiben a későbbi nemzeti narratíva visszavetítése.
A 16. század eleje a horvát területek számára a legnagyobb területi veszteségek időszaka volt. A mohácsi csata (1526) után a magyar–horvát királyság központi hatalma összeomlott, és a horvát rendek 1527-ben a cetini országgyűlésen I. Ferdinánd Habsburg-főherceget választották horvát királlyá. Ez az aktus a horvát rendi autonómia egyik legfontosabb, a forrásokban jól dokumentált eseménye: a horvát nemesség saját jogán döntött a királyválasztásról, és ezzel a Horvát Királyság jogilag különálló királyságként csatlakozott a Habsburg-országokhoz. A cetini választás a horvát államiság folytonosságának kulcsfontosságú érvévé vált a későbbi történeti és politikai vitákban, de fontos megjegyezni, hogy a választás nem egységesen történt: a horvát rendek egy része a magyar rendi álláspontot követte, és Szapolyai János oldalára állt, ami rövid polgárháborús időszakot eredményezett a horvát területeken.
A 16. században az oszmán hódítás következtében a horvát területek tényleges kiterjedése jelentősen csökkent. A Bosznia és a Hercegovina területén kialakult oszmán szandzsákok, valamint a Lika és Krbava vidékén lezajlott harcok következtében a horvát lakosság jelentős része elmenekült vagy oszmán uralom alá került. A Habsburg uralom alatt maradt területeken a határőrvidék (latinul confinium militare, horvátul Vojna krajina) intézménye alakult ki, amely a későbbi évszázadokra meghatározta a horvát–szerb–bosnyák etnikai viszonyokat. A határőrvidékre a Habsburgok – részben a török elől menekülő, részben a katonai szolgálatért letelepített – jórészt ortodox vallású, később szerbként azonosított lakosságot telepítettek, amit a későbbi nemzeti narratívák hol „meghívásnak”, hol „idegen telepítésnek” értelmeztek. A források egyértelműen dokumentálják a katonai szolgálatért cserébe adott föld- és adómentességi kiváltságokat, de a betelepítés pontos demográfiai mérete és a korabeli etnikai önazonosítás kérdése vitatott.
A 16. század végére a horvát rendi állam területe a mai Horvátország északnyugati részére és a tengerpart egyes sávjaira zsugorodott. A Zrinszkij (horvátul Zrinski) és a Frangepán családok hatalma a 17. században még egyszer utoljára jelentős önálló politikai tényezővé tette a horvát nemességet, de a Wesselényi-féle összeesküvés (1664–1671) bukása után a Habsburg-abszolutizmus felszámolta a horvát rendi autonómia katonai és politikai bázisát. A 17–18. században a horvát területek története már a Habsburg Birodalom keretei közötti rendi, egyházi és katonai intézmények történeteként folytatódik, miközben az oszmán uralom alatti területeken a bosnyák–muszlim, ortodox és katolikus közösségek közötti viszonyok külön fejlődési pályát követtek. Erről a kérdésről Bosznia-Hercegovina a középkortól 1878-ig fejezete szól részletesebben.
A horvát királyság és a magyar–horvát perszonálunió történetének értelmezése a 19. század óta a horvát nacionalista, a magyar alkotmányjogi és a jugoszláv integrációs narratívák közötti viták terepe. A horvát nemzeti történetírás a perszonáluniót a horvát államiság folytonosságának bizonyítékaként kezelte, hangsúlyozva a Pacta conventa szerződéses jellegét és a horvát sabor folyamatos működését. A magyar alkotmányjogi hagyomány ezzel szemben a magyar korona integritásából indult ki, és a horvát területeket a Szent Korona országaihoz tartozó részként értelmezte. A 20. századi jugoszláv történetírás a horvát nemesi különállást gyakran háttérbe szorította, hogy a délszláv egység gondolatát erősítse; a horvát tavasz és a jugoszláv válság időszakában azonban a horvát rendi hagyomány ismét a politikai mobilizáció eszközévé vált.
A mai történettudomány ezekkel a nemzeti narratívákkal szemben óvatosabb, és azt hangsúlyozza, hogy a középkori horvát területek nem alkottak homogén etnikai vagy politikai egységet, a perszonálunió pedig nem volt statikus jogi viszony, hanem az évszázadok során folyamatosan változó, hatalmi-politikai alkukkal formált kapcsolatrendszer. A nemzeti identitás mai fogalma nem vetíthető vissza a középkori horvát nemességre, amelynek identitása elsősorban rendi, területi és vallási keretekben értelmezhető. Ugyanakkor a horvát királyi cím, a báni tisztség és a sabor intézménye olyan jogi folytonossági elemek, amelyek a 19. századi modern horvát nemzeti mozgalom számára valós kiindulópontot jelentettek. Ezt a folyamatot Az illír mozgalom és a nemzeti ébredés alfejezet tárgyalja.
A horvát királyság és a perszonálunió történetének elsődleges forrásai erősen töredékesek. A 9–10. századból alig maradt fenn eredeti oklevél; a legfontosabb források a pápai levelek, a spliti és zárai zsinatok kánonjai, valamint a velencei krónikák, amelyek azonban mind másolatban, és gyakran későbbi interpolációkkal ismertek. A 11–12. századi magyar–horvát kapcsolatok legfontosabb elbeszélő forrása a Képes Krónika és a Thuróczi-krónika, de ezek a 14–15. században íródtak, és saját koruk politikai érdekei szerint válogattak. A Pacta conventa szövege minden bizonnyal 14. századi másolatban maradt fenn, és a legújabb diplomatikai kutatások szerint valószínűleg részben utólagos szerkesztés eredménye; hitelessége a horvát és a magyar történettudományban egyaránt vita tárgya. A cetini 1527-es országgyűlés jegyzőkönyve ezzel szemben jól dokumentált, és a horvát rendi autonómia kérdésében kulcsfontosságú elsődleges forrás.
A legnagyobb bizonytalanságok a következők: a horvát törzsek és a kora középkori területi egységek viszonya (a régészeti és nyelvészeti anyag nem teszi lehetővé az etnikai határok pontos meghúzását); a Tomiszláv királyi címe körüli vita (a források retorikai és jogi értelemben sem egyértelműek); a perszonálunió jogi természetének megítélése (a késő középkori rendi hagyomány és a modern historiográfia eltérően értelmezi); valamint a 15–16. századi határőrvidéki betelepítések demográfiai mérete, amelyet a nacionalista narratívák eltúlzott vagy éppen bagatellizált módon használtak.