Prema izvještaju bizantskog cara Konstantina VII. Porfirogeneta iz 10. stoljeća, Hrvati su prije doseljenja živjeli u Bijeloj Hrvatskoj, koja se vjerojatno nalazila u južnoj Poljskoj, blizu Krakova. Konstantin navodi da je car Heraklije (610. – 641.) pozvao Hrvate da mu pomognu protjerati Avare iz Dalmacije. Međutim, dio povjesničara smatra to izvješće nepouzdanim i doseljenje Hrvata smješta na sam kraj 8. stoljeća, povezujući ga s nastojanjima franačkog cara Karla Velikog da osigura jugoistočne granice carstva naseljavanjem saveznika. Ime "Hrvat" u izvorima se prvi put spominje sredinom 9. stoljeća.
Hrvati su u novoj domovini zatekli romanizirano domaće stanovništvo. Dio starosjedioca sklonio se u brdska područja, dok je drugi dio izbjegao u sigurne dalmatinske gradove poput Zadra, Trogira i Raba. Romanske izbjeglice osnovale su i nove gradove poput Splita i Dubrovnika, koji su priznavali bizantsku vlast. Odnosi između pridošlica i starosjedioca, isprva obilježeni nepovjerenjem i neprijateljstvom, postupno su se normalizirali kroz trgovinu i ženidbene veze. Hrvati su od starosjedioca preuzeli antičku kulturnu baštinu i običaje te se upoznali s kršćanstvom.
Neposredno nakon doseljenja Hrvati su živjeli u manjim plemenskim zajednicama. Početkom 9. stoljeća, pod franačkim utjecajem, te su se zajednice ujedinile u kneževine:
Mir u Aachenu 812. godine, kojim je završen bizantsko-franački rat, odredio je da Bizant zadrži dalmatinske gradove, dok su Hrvatska i Donja Panonija potpale pod franačku vlast.
Godine 819. u Donjoj Panoniji izbio je ustanak pod vodstvom kneza Ljudevita, zbog nasilnog ponašanja franačkih dužnosnika i pokušaja uvođenja novog društvenog uređenja. Borna, knez Hrvatske, nije se pridružio ustanku, ostajući vjeran Francima. Unatoč početnim uspjesima, ustanak je trajao četiri godine, a nakon neuspješnog otpora, Ljudevit je pobjegao u Dalmaciju, gdje ga je Bornin ujak Ljudemisl dao ubiti.
Knez Trpimir (oko 840. – 864.) bio je vladar po kojem je hrvatska vladarska dinastija nazvana Trpimirovići. Njegova darovnica svjedoči o Hrvatskoj kao snažnoj državi organiziranoj po franačkom uzoru, a Trpimir se u njoj naziva "milošću Božjom knez Hrvata", što je prvi pisani spomen hrvatskog imena. Imao je dvor (pretpostavlja se u Klisu) sa županima i dvorjanicima. Uspješno je ratovao protiv bizantske vojske iz dalmatinskih gradova i protiv Bugara. Za njegove vladavine proces pokrštavanja Hrvata bio je na vrhuncu, a osnovana je prva hrvatska biskupija sa sjedištem u Ninu. Trpimir je doveo benediktince u Hrvatsku i podigao im samostan u Rižinicama kod Klisa.
Sukobi Hrvata i Venecije posebno su se zaoštrili za vrijeme kneza Domagoja (864. – 876.), zbog čega su ga mletački pisci nazvali "najgorim knezom Slavena".
Knez Branimir (879. – 892.) iskoristio je slabost Bizanta i Franačke kako bi osamostalio Hrvatsku. Odmah po dolasku na vlast obratio se papi Ivanu VIII. tražeći potvrdu svoje vlasti. Papa je blagoslovio Branimira i njegov narod, što je označavalo posredno priznanje hrvatske samostalnosti. U Branimirovo doba došlo je do procvata hrvatske pismenosti i kulture, o čemu svjedoče kameni natpisi s njegovim imenom. Izgradnja novih crkava i kulturni procvat ukazuju i na značajan gospodarski napredak Hrvatske.
Tomislav (vladao prije 914. – oko 928.) je uspješno odbio prodore Mađara u sjeverni dio Hrvatske i proširio svoju vlast na Donju Panoniju, čime su sjever i jug Hrvatske prvi put u povijesti bili sjedinjeni. Godine 924. potukao je bugarsku vojsku koja je napala Hrvatsku zbog njene potpore Bizantu. Kao nagradu za savezništvo, bizantski car predao mu je na upravu dalmatinske gradove. Snagu i ugled Tomislava potvrđuje pismo pape Ivana X. iz 925. godine, u kojem hrvatskog vladara naziva kraljem.
Vladavina Stjepana Držislava (oko 969. – oko 997.) označava novo razdoblje uspona nakon krize poslije Tomislava. U sukobu Bizanta i bugarskog cara Samuila, Držislav je stao na stranu Bizanta. Za vjerno savezništvo bizantski car nagradio ga je vlašću nad dalmatinskim gradovima i poslao mu kraljevsku krunu. Od tada se Držislav u povijesnim izvorima, kao prvi hrvatski vladar, naziva "kraljem Hrvatske i Dalmacije".
Nakon smrti Stjepana Držislava, njegovi mlađi sinovi Krešimir i Gojslav pobunili su se protiv najstarijeg brata i legitimnog nasljednika Svetoslava Suronje (997. – 1000.) i zbacili ga s prijestolja. Ovaj unutarnji sukob iskoristila je Venecija, koja je 1000. godine pokrenula pohod i uspjela privremeno podvrgnuti sve dalmatinske gradove pod svoju vlast.
Vladavina Petra Krešimira IV. (1058. – 1074.) predstavlja vrhunac razvoja i teritorijalnog širenja države Trpimirovića. Sam je ustvrdio da je "svemogući Bog proširio naše kraljevstvo na kopnu i moru", uključujući dalmatinske gradove. Za razliku od prethodnih vladara, kojima je Bizant prepuštao gradove na upravu, Krešimir ih je sam podvrgnuo svojoj vlasti, čime su dalmatinski gradovi prvi put bili sjedinjeni s Hrvatskom u jedinstvenu državu – Kraljevstvo Hrvatske i Dalmacije. Jadran je nazivao "našim dalmatinskim morem" i potpomagao je razvoj hrvatskih obalnih gradova poput Biograda i Šibenika. U njegovo doba jačaju župani i banovi, a ban Zvonimir se nametnuo kao njegov suvladar. Zvonimirova ženidba s Jelenom, pripadnicom mađarske dinastije Arpadovića, kasnije će utjecati na tijek hrvatske povijesti.
Zvonimir je bio ban i suvladar Petra Krešimira IV. On se oženio Jelenom, pripadnicom mađarske dinastije Arpadovića, što će kasnije imati značajan utjecaj na dolazak Arpadovića na hrvatsko prijestolje.
Smrću Stjepana II. (1089. – 1091.), posljednjeg muškog člana dinastije Trpimirovića, nestala je hrvatska narodna dinastija, što je dovelo do bezvlađa i borbe domaćih velikaša za prijestolje. U tu borbu uključili su se i mađarski Arpadovići. Ladislav Arpadović osvojio je cijelu Slavoniju, a njegov nasljednik Koloman 1097. godine porazio je Petra Svačića u Bitki kraj Gvozda. Iako Arpadovići nisu odmah uspjeli osvojiti cijelu Hrvatsku zbog otpora plemstva, Koloman je 1102. godine, umjesto silom, postigao dogovor s hrvatskim plemstvom.
Godine 1102., ugarski kralj Koloman, poučen ranijim iskustvima, odlučio je svoj cilj, odnosno dolazak na hrvatsko prijestolje, ostvariti mirnim putem. Priznao je prava i povlastice hrvatskog plemstva, a ono je zauzvrat, svojom slobodnom voljom, izabralo Kolomana za hrvatskog kralja. Tim činom Hrvatska je stupila u državnu zajednicu s Ugarskom. Koloman je bio okrunjen za hrvatskog kralja u Biogradu.
Personalna unija je oblik državne zajednice u kojoj su dvije (ili više) države vezane samo osobom istog vladara. U takvoj zajednici, Hrvatska je nakon 1102. godine očuvala unutarnju samostalnost, dok ju je s Ugarskom povezivala isključivo osoba vladara.
Tatari (Mongoli) su bili azijski ratnici čije je glavno oružje bio luk i strijela. Bili su lako naoružani, ali izuzetno pokretni i disciplinirani, nadmoćni europskoj teško naoružanoj konjici. Bela IV. (1235. – 1270.) pokušao je suzbiti moć velikaša, ali su 1241. godine Tatari provalili u Ugarsku. Bela IV. je doživio težak poraz i morao je bježati pred Tatarima, skrivajući se po Hrvatskoj i Dalmaciji (preko Zagreba u Split i Trogir). Tatari nisu uspjeli osvojiti dobro utvrđene dalmatinske gradove, a nakon smrti njihovog vladara povukli su se. Ova provala pokazala je Beli IV. da se samo gradovi s jakim bedemima mogu oduprijeti tatarskim napadima, pa je nakon toga pokrenuo gradnju mreže kamenih utvrda radi buduće obrane.
Krajem 13. stoljeća, napuljski kraljevi iz dinastije Anžuvinaca, povezani rodbinskim vezama s Arpadovićima, suprotstavili su se izboru Andrije III. (posljednjeg muškog Arpadovića) za ugarsko-hrvatskog kralja, smatrajući da imaju veće pravo na krunu. Između Arpadovića i Anžuvinaca izbio je dinastički sukob. Anžuvincima je podršku, između ostalih, pružao i najmoćniji velikaš u Hrvatskoj tog doba, Pavao I. Šubić. Nakon iznenadne smrti Andrije III. 1301. godine, uz pomoć Šubića, Karlo I. Anžuvinac zasjeo je na prijestolje.
Karlo I. (1301. – 1342.) je, došavši na prijestolje, odlučio slomiti moć plemstva i obnoviti kraljevsku vlast. U Ugarskoj i Slavoniji je to uspio nakon dugogodišnjih borbi. Međutim, Hrvatska, kojom su sasvim neovisno vladali moćni Šubići, ostala je izvan dosega njegove vlasti. Kraljevska vojska je 1322. porazila Mladena II. Šubića, sina Pavla Šubića, uz pomoć drugih hrvatskih velikaša. Ipak, hrvatski velikaši nisu namjeravali prevlast Šubića zamijeniti prevlašću kralja, pa su nakon povlačenja kraljevske vojske sami zavladali zemljom. Od tih događaja najviše koristi imala je Venecija, koja je iskoristila pad Mladena II. Šubića kako bi ponovno zavladala većinom dalmatinskih gradova.
Nema detaljnih informacija o Ludoviku I. u danim materijalima, osim u kontekstu njegove smrti. No, on je uspio uspostaviti čvrstu kraljevsku vlast i u Hrvatskoj. Ludovik I. je vodio rat s Venecijom zbog dalmatinskih gradova. Taj sukob je kulminirao Zadarskim mirom 1358. godine, kojim se Venecija odrekla cijele istočnojadranske obale. Pod Ludovikovu vlast tada su došli dalmatinski gradovi, uključujući i Dubrovnik, čime su većina hrvatskih zemalja bile ujedinjene pod jednim vladarom.
Nakon smrti Ludovika I., koji nije imao muškog nasljednika, na prijestolju ga je naslijedila maloljetna kći Marija. Velikaši, nezadovoljni prevelikim jačanjem kraljeve vlasti tijekom Ludovikove vladavine, iskoristili su njegovu smrt i podigli protudvorski pokret kako bi vratili izgubljene posjede i povlastice. Iako je Marijin suprug Žigmund, okrunjen 1387. za ugarsko-hrvatskog kralja, nakratko ugušio pobunu, ona je ponovno planula deset godina kasnije. Žigmund je 1397. sazvao sabor u Križevcima, gdje su, unatoč jamstvu sigurnosti, vođe pobunjenika ubijeni, što je događaj poznat kao Krvavi sabor križevački. Istodobno, napuljski kralj Ladislav Anžuvinac, koji se proglasio ugarsko-hrvatskim kraljem, ali bez stvarne vlasti, 1409. godine prodao je svoja "prava" na Dalmaciju (uključujući Zadar, Pag, Novigrad i Vranu) Veneciji za 100 000 dukata. Nakon toga, Venecija je ratovima osvojila dalmatinske gradove i otoke, a Hrvatska je ostala bez većine jadranske obale na četiri stoljeća.
Hrvatski vladari u 9. stoljeću nosili su latinske titule *dux* ili *comes* (knez), dok su od 10. stoljeća u pravilu nosili titulu *rex* (kralj). Najmoćnija osoba u državi iza kralja bio je ban, koji je isprva upravljao Likom, Gackom i Krbavom. Hrvatska država bila je podijeljena na županije, kojima su upravljali župani, a njihova sjedišta bila su smještena duž važnih prometnih pravaca naslijeđenih iz rimskog doba.
Velikaši u Hrvatskoj potječu vjerojatno od poglavara lokalnih zajednica koje su se oblikovale nakon doseljenja Hrvata. Blizina vladaru i obnašanje različitih dužnosti na njegovom dvoru omogućilo im je uzdizanje u društvu. Najmoćniji velikaši, poput banova i župana, u pojedinim su razdobljima bili gotovo ravni kralju. Darivanjem crkvenih institucija i gradnjom crkava jačali su svoj društveni ugled. Vladari su im dijelili sve veće posjede i povlastice, poput oslobađanja od plaćanja poreza, što je s vremenom slabilo kraljevsku vlast nad njima, a velikaši su postajali gotovo neovisni vladari svojih posjeda.
O položaju žena u srednjovjekovnoj Hrvatskoj zna se malo, jer rijetki povijesni izvori spominju uglavnom žene visokog roda (kraljice, supruge velikaša, redovnice). One su se pojavljivale kao pratnja muževa ili u društvu drugih uglednih žena, primjerice Branimirova supruga Maruša na hodočašću. Neke su žene bile društveno aktivne, posebno u dobrotvornom radu, o čemu svjedoči nadgrobni natpis kraljice Jelene iz 10. stoljeća, koja je bila "majka siročadi i zaštitnica udovica". Pretpostavlja se da su i redovnice u samostanima imale važnu humanitarnu ulogu.
Bizantski car Konstantin VII. Porfirogenet u 10. stoljeću navodi da krštena Hrvatska može imati veliku vojsku, s konjaništvom do 60 000 i pješaštvom do 100 000, te mornaricu s do 80 većih lađa (sagene) i do 100 manjih (kondure). Iako su te brojke vjerojatno pretjerane, pokazuju da je Hrvatska bila značajna vojna sila. Hrvatska vojska je uključivala pješaštvo, konjaništvo i mornaricu. Vjerojatno se radilo o vojnim družinama koje su se okupljale prema potrebi, gdje bi svaki velikaš dovodio određeni broj vojnika koji su činili vladarevu vojsku. Arheološki nalazi pokazuju da su hrvatski ratnici koristili duge mačeve, koplja, lukove i strijele, a oprema je uključivala male okrugle štitove, kacige, te ostruge za konjanike. Dio oružja bio je franačke izrade.
U 13. i 14. stoljeću jačaju moćni plemićki rodovi: