768至814年,法兰克王国征服了巴尔干半岛,克罗地亚也因而被纳为其藩属国,后成立了两个公国——潘诺尼亚(英语:Lower pannonia (9th century))与达尔马提亚(英语:duchy of croatia)。然而随着法兰克王国国势衰微、克罗地亚的势力日益增强,后者越趋于独立,最终法兰克的统治权也随着米斯拉夫大公(英语:mislav of croatia)于845年的退位而几乎丧失殆尽:169-170。845至864年期间,特尔皮米尔大公(英语:trpimir I of croatia)建立了幅员广大的克罗地亚国家,从公国转为一个实质的封建制国家,尽管承认法兰克王国的地位,但大公拥有克国完整的统治权,他在852年发表的宪章也是克国首次使用“克罗地亚”这个名称的官方文件。法兰克没落后,拜占庭帝国再度征服克罗地亚,克国人民对于依从拜占庭的特尔皮米尔大公之子兹德斯拉夫(英语:Zdeslav of croatia)十分不满,随后爆发政治动乱,兹德斯拉夫被赶下台,拜占庭的影响力也因此消失。879年,布拉尼米尔(英语:branimir of croatia)公爵上台,由于拥有教宗若望八世的支持,克罗地亚也因此成为真正独立、受外国承认的主权国家,布拉尼米尔也成了第一位克罗地亚出身的统治者,世称“克罗地亚的领袖”(dux croatorum)。
910年,托米斯拉夫登基。在他为时20年左右的统治期间,克罗地亚不仅取得达尔马提亚和潘诺尼亚的统治权、击溃了后来组成匈牙利的马扎尔人和保加利亚人的入侵(英语:croatian–bulgarian battle of 926)。托米斯拉夫成为克国历史上的第一位国王,克罗地亚也就此从公国转为王国。克罗地亚王国在11世纪下半叶的佩塔尔·克雷希米尔四世(1058至1074年在位)与狄米特流斯·兹沃尼米尔(英语:demetrius Zvonimir of croatia)(1075至1089年在位)期间发展至巅峰。兹沃尼米尔后被人所暗杀,由斯捷潘二世(英语:Stephen II of croatia)继任王位,而当后者于1091年逝世后,特尔皮米尔王朝(英语:trpimirovi? dynasty)就此终结。由兹沃尼米尔遗孀(匈牙利国王之女)联合了匈牙利国王拉斯洛一世觊觎克罗地亚的统治权,后更因而出兵克国(英语:battle of Gvozd mountain),为保有领土完整,克罗地亚于1102年以个人王朝(英语:croatia in the union with hungary)的地位并入了匈牙利,由其国王卡尔曼一世统治,但仍保有相当大的自主权。
之后在12到16世纪长达400年的时间里,克罗地亚王国同时受匈王指派的总督(英语:ban of croatia)与克国自己的议会所管理。在此期间,东方的奥斯曼帝国正崛起扩张,西方威尼斯人一直想夺取亚得里亚海沿岸的控制权,克罗地亚倍受威胁。时至1428年,威尼斯已获得达尔马提亚大部分地区的控制权,唯受奥斯曼保护的杜布罗夫尼克例外(后来该市发展成了拉古萨共和国,成了当时亚德里亚海唯一能与威尼斯匹敌的城邦)。1463年,奥斯曼征服了克国邻近的波斯尼亚全境,与克国相接壤,后对其发动侵略战争(英语:hundred Years' croatian–ottoman war),于1493年的克尔巴瓦原野战役(英语:battle of Krbava Field)与1526年的摩哈赤战役中彻底打败了克匈联军,匈王拉约什二世本人也在1527年死于摩哈赤。由于畏惧奥斯曼的统治,克罗地亚贵族议会于1529年宣布归顺奥地利的哈布斯堡王朝,承认斐迪南一世为新的克国统治者,作为交换,斐迪南一世必须对抗奥斯曼帝国,同时要尊重克国人的政治权益。
哈布斯堡王政至奥匈帝国时期
由于奥斯曼帝国军的连捷胜利,奥地利当局于1538年将克罗地亚一分为二,分作平民区与驻军区,后者由帝国政府派遣的军事长官控制,居民都被武装了起来、协助奥军。1593年,奥斯曼在锡萨克战役(英语:battle of Sisak)中败于克罗地亚,这是前者近百年来的扩张战争中遭受到最惨重的失败之一,两国在边境地带的力量也转为均势。连年与奥地利的战争使奥斯曼帝国的国势趋弱,在1667至1698年的“大土耳其战争”期间,奥军收复了斯拉沃尼亚和大部分原克罗地亚领土,但仅剩波斯尼亚仍在奥斯曼控制之下,这个结果进而造成现在波克两国的边界划分。南方的达尔马提亚也同样在第5与第7次奥斯曼帝国—威尼斯战争(英语:ottoman–Venetian war (1714–18))中决定了其归属。与奥斯曼的战争对克罗地亚的人口结构造成强烈的冲击,许多克人移民到奥地利,现今奥国布尔根兰州的克人即是当时移民者的后裔。为了取代这些逃亡的克人,哈布斯堡王室呼吁波斯尼亚和塞尔维亚的东正教徒移入克国的驻军区,特别是在1690和1737至1739年之间,塞尔维亚人迁入克国达到最高峰。在奥斯曼撤军后,这些居民并未离去,就成了日后克国境内的塞族聚集地——克拉伊纳(英语:Krajina)。