公元前636年晋国结束了多年的内乱。这一年在外流亡十九年的公子重耳在秦穆公支持下回国即位。这位公子重耳正是一手开创了晋国霸业的晋文公。晋文公即位后首先封赏功臣、宽恕仇人使晋国的人心安定下来。之前在位上的晋惠公为铲除政治对手曾派人暗杀过重耳。重耳即位后当初拥立晋惠公的大臣吕甥、郤芮等人都很怕被秋后算账,于是就商议先下手为强杀掉重耳。吕甥、郤芮找到勃鞮一块儿商议。
这个勃鞮当年就是奉命刺杀重耳的人。当时他甚至砍掉了重耳的衣袖。要不是重耳跑得快可能就没后来中国历史上的晋文公了。勃鞮虽也和晋文公有仇,但这次他却主动向晋文公透露了吕甥、郤芮等人的密谋。话说晋文公刚见到勃鞮就说:“我至今还留着当年被你砍掉袖子的那件衣服。现在你还胆敢来见我?”勃鞮听后不慌不忙禀报道:“我以为国君在海外流亡这么多年之后回国应当明白做一个国君的道理了”。
勃鞮接着侃侃而谈:“作为臣子执行国君的命令一定要全心全意。当年惠公命我刺杀您。那时他是国君,我是臣子,所以必须不折不扣执行他的命令。如今您已是新的国君,可难道就没人会对国君不利吗?就没人会成为国君的心腹大患吗?当年齐桓公被管仲射了一箭尚且可以任用管仲为相。我还以为国君是像齐桓公那样有胸襟气度的人哩”。勃鞮的话事实上暗含着春秋战国时代的忠诚观。
当时人们的忠诚是对自己的国家和国君而言,而并不是针对某个特定的人。如果改朝换代只要新主子能安定国家就该效忠于他。晋文公听了勃鞮的话决定主动宽恕一批像勃鞮这种曾与自己结仇的人。晋文公的宽容分化瓦解了以前晋惠公留下的政治老班底:一些人主动投奔到晋文公这边。晋文公在这些人的支持下平定了吕甥、郤芮的叛乱。对昔日的仇敌要宽恕,那么对昔日的恩人呢?
晋文公在外流浪十九年间身边始终有一批忠心耿耿的追随者。晋文公即位后这些追随者大多都升官晋爵,但对晋文公恩情最大的介子推却拒绝受赏。当年晋文公四处流亡时介子推曾割下自己的肉给晋文公充饥。按说他完全有资格领受赏赐,但却推脱掉一切赏赐进山当起了隐士。晋文公亲自带着大队人马去绵山寻访介子推,可介子推躲着不出来见他。不只是谁给晋文公出了个馊主意:在山前山后放火逼介子推出来。
谁知大火烧了三天也没见介子推出来。后来有人在一棵枯柳树下发现了介子推母子的尸骨。晋文公本来是想让介子推给他封官报恩,现在反倒搞得像是恩将仇报了。追悔莫及的晋文公只好安葬了介子推母子的遗体。后人把介子推身亡这天定为寒食节以示纪念。晋文公痛定思痛后擦干眼泪决心带领晋国走向富强。此时的晋文公早已是两鬓斑白的老者,但雄心壮志却丝毫未减。
政局初步稳定后晋文公开始推行一系列改革:他下令奖励垦殖、改进生产工具发展生产,又下令降低关税吸引邻国商人入境。西周时期各诸侯国在用人政策上都基于周礼确立的血缘宗法原则。到了春秋时代齐、楚、秦等国开始逐渐打破惯例开始启用一些身份低微却才能卓著的人。这些国家因此得以在时代转折的关头崛起。晋国由于此前长期内乱导致宗室家族内部自相残杀现象极为严重。
晋文公上台后在用人上基本已彻底打破血缘宗法原则。他大胆启用狐偃、赵衰等曾与自己共患难的异姓贵族,还提拔任用了一些来自民间的才学之士。晋文公通过协调统治集团的内部关系使晋国得以逐渐摆脱之前长期内乱带来的后遗症。西周时期的井田制到了春秋时代已基本崩溃。此时各国几乎都在进行土地制度改革逐渐确立土地私有制。晋文公在作爰田、作州兵等政策的基础上又实行裂地分民的政策推动土地向私有制的转化。
晋文公还对军队的指挥管理体制进行了重大调整:公元前634年晋文公作三军。本来周朝的制度规定:周天子拥有上中下三军,而诸侯国只能有一支军队。晋文公的父亲晋献公把晋国军队扩编为上下两军。晋文公又在晋献公扩编的两军基础上进一步扩编为三军:上中下三军各设中军将佐、上军将佐、下军将佐。全军由中军将统一指挥,因此中军将又称为元帅。中军元帅不仅是全军的总指挥,而且在平时就是国家的最高行政长官。
晋文公按论功行赏的原则建立了庞大的军事机器和军事指挥系统。在后来的平丘大会上晋置兵邾南一次竟出动兵车四千乘兵力数万。晋文公推行新政奠定了晋国作为强国的地位。当晋文公忙于整顿内政时周襄王的异母弟王子带发动叛乱占领了洛邑(今河南洛阳)。周襄王仓皇逃到郑国避难,同时派使者向秦穆公、晋文公告急。晋文公意识到这是一次效仿齐桓公尊王攘夷威服诸侯的天赐良机。
晋文公与秦穆公一同出兵俘虏了王子带、护送周襄王返回洛邑。事后晋国得到周天子赏赐的阳樊八邑之地,而且这次勤王之举还使晋国获得了政治上的大义名分。晋文公还特别注意在义、信、礼等方面塑造晋人的集体心理:有次晋文公派兵攻打如今河南济源这地方。当时他与大夫约定十天为期限,所以让士兵只带了十天的军粮。十天后城池没攻下。这时有从城里回来的人报告说:“再有三天就可以攻下此城”。
晋文公身边的群臣纷纷劝谏说:“敌人的粮食已吃完了、兵力也用尽了。咱们再坚持几日应当就能破城了”。晋文公表示说好十天就是十天,于是下令班师回朝。晋文公宁可放弃此城也不愿失信于民。周边诸侯国的百姓听说晋文公如此重信义纷纷归顺晋国,而晋国老百姓也从此更加信任自己的国君了。晋国在晋文公的治理下经济发达军力强盛,又获得了匡扶周室的大义名分。霸主之位看似已是晋文公囊中之物。
可此时在晋国的称霸道路上还横亘着一个强大的对手楚国。楚国是当时全世界疆域最辽阔的国家。当公元前632年楚国进攻宋国时晋文公知道打败楚国争夺霸业的良机降临了。晋国当时与齐、宋等国组成了三国集团。大战开始前晋国先把当时骑墙的鲁国和一直采取中立的秦国拉到自己一边组成晋、齐、宋、鲁、秦五国集团。反观站在楚国一方的只有曹、卫、郑、许、陈、蔡等小国。
早在双方直接正面对决之前晋国已展开对楚国的外交战并抢占了先机。晋国将领先轸制定了攻曹、卫以救齐、宋的战略。晋国为稳定自己的阵营把宋国土地分给齐、秦使两国坚定反楚的决心,同时又决定战后把曹、卫两国的土地分给宋人。晋国就这样以牺牲楚国盟友曹、卫的土地来安抚自己的盟友,但精明的晋国又并没放弃把曹、卫两国从楚国阵营争取过来,于是暗中向曹、卫两国承诺:一旦两国参加反楚战争将立刻恢复两国的独立国家地位。
晋国这边与齐、秦、宋、鲁结成联盟,而楚国阵营的曹、卫两国则是三心二意。双方还没正式开打之前晋国已在首轮外交战中取得完胜。当楚成王意识到晋国已组建起一个庞大的联盟准备救援宋国时就命令自己的大将子玉尽可能避免与晋军发生正面冲突。可心高气傲的子玉不听楚成王的劝阻执意带兵进逼晋军。晋文公见子玉率领的楚军逼近就叫晋军向后退却。一些晋军将领对晋文公此举大为不解。
晋军将领们纷纷进言:“我们是国君亲自率领的队伍,而楚军是由大将子玉率领。现在君避臣不是太丢脸了吗?”晋文公手下的狐偃却说: “出兵要理直才会气壮。理亏气就会衰。我们国君曾受过楚君的恩惠,也曾说过要退三舍以避之。若我们忘恩失信就是理亏,他们就理直,士气就会高。如果我们退了以后他们仍不撤兵就是他们理亏”。原来当年晋文公落难流亡在外期间曾受到楚成王的礼遇。
当时晋文公曾说过如果将来有朝一日不幸与楚军对决愿退避三舍作为对楚成王的报答。如今真到了与楚军对峙时晋文公履行了当初的诺言退兵九十里。子玉不管不顾率领楚军追了上去,于是晋、楚两军对峙于城濮(今河南濮阳东)。晋文公退避三舍既是报答楚成王的恩惠,也是运用"卑而骄之"、"怒而挠之"的诱敌之计。子玉果然上钩了。子玉派出大将斗勃向晋文公请战说:"我恳请与贵国君主的武士戏耍一番。国君在战车上凭栏观看即可”。
晋国将领栾枝也依照当时的礼节回复道“我们国君知道您的意思了。我们不敢忘记楚君的恩惠,故而退避至此。我们本以为大夫您已退兵了。臣下难道敢抵挡国君吗?既然大夫不肯退兵就烦请大夫吩咐贵部将士准备好你们的战车忠于你们的国事。明天早晨咱们将再见面”。公元前632年四月六日一早双方摆开阵势:晋三军以先轸为元帅统率中军、郤溱辅佐;狐毛统率上军、狐偃辅佐;栾枝统率下军、胥臣辅佐。
楚国这边也是三军:令尹子玉统率中军、子西统率左军、斗勃统率右军。楚国的仆从国郑、许军附属楚左军,陈、蔡军附属楚右军。当两军接触之时晋下军佐胥臣率所部用虎皮蒙在马身上首先冲击楚右翼的陈、蔡军。这些乌合之众很快就惊骇逃散。子玉、子上见右军溃败加强了对晋中军和上军的攻势。晋右翼上军狐毛设将、佐二面旗帜。现在他下令二旗后退引诱楚军。晋下军栾枝所部也以车辆曳树枝奔驰而伪装后退。
子玉以为晋军右翼败退就下令楚左军全力追击。当楚左军追击晋上军时将自己的侧翼暴露在了晋军面前。晋军将领先轸、郤溱率中军拦腰截击,狐毛、狐偃率上军趁机夹攻导致楚左军溃败。子玉面对左、右两翼皆失利的状况只得下令中军停止进攻退出战场。晋军胜利班师后在践土为周襄王修造了一座行宫。行宫完成后晋文公在此举行了一场隆重盛大的盟会。周襄王和当时比较重要的诸侯悉数到场。在这场盟会上周襄王正式册封晋文公为诸侯首领。
这次践土之盟标志着晋文公霸主地位的确立和一个长达百年的晋国称霸时代的到来。当时天下形成了东齐、西秦、南楚、北晋四大强国。四国中晋、楚长期争夺霸权,而齐、秦则相对次之。晋、楚两国的长期争霸类似于20世纪冷战时期的美苏争霸:楚国虽在疆域人口上更胜晋国,但在综合国力上却次之,而且晋国还拉拢中原各国共同打击压制楚国。楚国除了在楚庄王时期曾一度战胜过晋国之外大部分时间处于被压制的状态。