晋国始出于周成王的弟弟叔虞(详见《桐叶封弟》一文),叔虞姓姬,字子于。当时是把唐做为封地,唐这个地方位于黄河与汾水之东,方圆一百里,因此称为唐叔虞。
到了叔虞的儿子晋侯爕父的时候,迁徙到了晋水一带,把唐国改名为晋国。又经过了五代,到了晋靖侯时期,晋国的历史才开始有准确的文字记载。此时,天下风起云涌,国人暴动,世道动荡,晋国就在这个时候开始崛起。
晋靖侯的重孙晋穆侯有两个儿子,长子名叫公子仇,少子名叫公子师。当时晋国的大夫师服说:“君上给儿子的起名很奇怪啊,太子叫做仇,仇的意思是仇敌,幼子叫做师,师是能成其众的意思。名是自命的,物是自定的,如今长幼的名字彼此悖理,晋国以后肯定会出乱子。”师服的话预示晋国将有一场动乱。
晋穆侯死后,其弟殇叔自立为君,太子仇率领他的族人杀了殇叔即位,就是晋文侯。
此时,西周被犬戎所灭,周平王迁都洛邑,中国历史进入春秋时期。《史记》记载,周平王东迁之后,王室衰微,齐、楚、晋、秦等诸侯国开始壮大。这个时候晋国已经是一个比较强大的诸侯国了。
晋文侯仇去世之后,其子昭侯伯即位,把他的叔叔公子师分封到曲沃城,派晋靖侯的另一位旁系孙子栾宾为公子师的相,从此公子师号称曲沃桓叔。
公子仇这一支以翼城为都城,是晋国的大宗;公子师这一支以曲沃城为根据地,是晋国的小宗,当时的曲沃城比翼城还要大。桓叔此时已经五十八岁了,爱好德政,晋国的百姓都来归附他。有人感叹:“晋国的祸乱要从曲沃发生了,枝强于干,不作乱更待何时?”
不久,晋国大臣潘父弑杀了晋昭侯,想拥立桓叔为晋国国君,从公子仇杀殇叔到此时是晋国公族的第一次内乱。但是潘父没有成功,晋国人拥立昭侯的儿子即位,是为晋孝侯,并将潘父杀掉。
曲沃桓叔死后,经过他的儿子曲沃庄伯、孙子曲沃武公两代积蓄力量。公元前710年,曲沃武公率兵进入陉廷,联合陉廷攻打大宗,这是晋国公族的第二次内乱。在第二年春天的一次决战中,曲沃武公在晋都城翼城打败了大宗的军队,杀了晋哀侯。晋哀侯的儿子晋小子侯即位,但不久也被武公诱杀!
虽然此时小宗已经把大宗打得毫无还手之力,但是并没有得到周王室的承认,同一年,周恒王下令虢国君主虢仲讨伐曲沃武公,武公被迫败退回曲沃,周天子立晋哀侯之弟晋侯缗为晋的国君,曲沃未能吞并晋国。
又经过长达28年的积蓄力量,公元前679年,曲沃武公再度出兵讨伐大宗,终于攻陷了大宗的都城翼城,杀了晋侯缗。这次,武公把缴获的晋国宝器贿赂周僖王,希望得到周天子的关照。公元前678年,周僖王正式授予武公晋侯称号,但只能建立一军。武公封侯后不久,便出兵攻打周王室,杀死夷邑大夫诡诸,执政大臣周公忌父逃奔虢国① 。晋国小宗经过六十多年的持续努力,终于夺取了大宗的权力,晋国第二次内乱宣告结束。
公元前676年,晋武公辞世,其子晋献公即位。晋献公再一次大规模的屠戮公族,他采取大夫士蔿的计谋,使势力庞大晋公族诸公子互相残杀,进而全部消灭以利君权巩固。晋国自公子仇杀殇叔开始,公族内部你死我活的争权夺利、血腥杀戮贯穿了整个西周直至春秋中期,数百年间,从未停止过。然而,晋国公族内部的争权夺利远远没有停止,不久之后的“骊姬之乱”将晋国的内讧推向顶峰,这也是晋国的第三次内乱。(详见《骊姬之乱》一文)
从晋献公开始,由于公族精英越来越少,不得不大量起用异姓大臣辅佐朝政,这虽然使得新建的晋国充满活力,也为战国初六卿把权,以及最终三家分晋埋下了隐患。