春秋中期,秦在穆公即位后,国势日盛,已有图霸中原之意。但东出道路被晋所阻。周襄王二十四年(公元前628年)秦穆公得知郑、晋两国国君新丧,不听大臣蹇叔等劝阻,执意要越过晋境偷袭郑国。晋襄公为维护霸业,决心打击秦国。为不惊动秦军,准备待其回师时,设伏于崤山(xiao二声”)(今河南省洛宁县东宋乡王岭村交战沟)险地而围歼之。十二月,秦派孟明视等率军出袭郑国,次年春顺利通过崤山隘道,越过晋军南境,抵达滑(今河南偃师东南),恰与赴周贩牛的郑国商人弦高相遇。机警的弦高断定秦军必是袭郑,即一面冒充郑国使者犒劳秦军,一面派人回国报警。孟明视以为郑国有备,不敢再进,遂还师。
晋国侦知,命先轸率军秘密赶至崤山,并联络当地姜戎埋伏于隘道两侧。秦军重返崤山,因去时未通敌情,疏于戒备。晋军见秦军已全部进入伏击地域,立即封锁峡谷两头,突然发起猛攻。晋襄公身著丧服督战,将士个个奋勇杀敌。秦军身陷隘道,进退不能,惊恐大乱,全部被歼。
秦是春秋时的西方大国,穆公在位时又以贤名著称。他重用百里奚、蹇叔等一批贤臣,国势渐强,从此竭力图谋向东发展,参与中原争霸斗争。他先后支持晋惠公、晋文公二位国君归国,其目的也正在于为实现这一战略目标而在东方寻求盟国或立足点。晋在文公时,同秦国保持了一段良好的关系。在城濮之战中,秦又出兵助晋,帮助晋文公登上了霸主的宝座。
周襄王二十二年(公元前630年),晋文公会同秦穆公围攻郑国,讨伐郑国对晋怀有二心。晋军驻在函陵(今河南新郑县),从东、北方面围郑;秦军驻在氾南(今河南中牟县南),从西面围郑。郑文公为挽救国家危机,派特使烛之武劝说秦穆公:晋、秦围郑,郑国知道要灭亡了。但是郑国灭亡对于秦国来说并无好处,它只会增强晋国的力量。而晋国力量的增强则是秦国力量的削弱。如果不灭郑国,而留下它作为秦国的东道主,供奉秦国往来的使臣,这对于秦不是更好吗?何况,贵君曾有恩于晋君,晋君答应割给秦焦、瑕之地,但晋君早晨渡河归国,晚上就对秦国设防。晋如果向东并吞了郑国,那么向西不侵掠秦国,土地从哪里取得?所以灭郑其实是损害秦国以利于晋国的下策,请贵君考虑吧!
烛之武一席话使秦穆公如梦初醒,他不但不再助晋灭郑,反而与郑国单独结了盟,并留下杞子、逢孙、扬孙三位大夫助郑戍守,自己则率兵归国了。
秦军撤退后,晋大夫狐偃等对穆公的背信弃义行径大为不满,主张攻击秦军。晋文公则从大处着眼,认为秦有恩于晋,攻击秦军是不仁。
同时,晋为保持中原霸权,失去秦国这样一个盟友也是不智。所以,晋也与郑国媾和,然后退了兵。晋、秦伐郑事件虽然这样结束了,但它却为秦、晋交兵种下了远因。
周襄王二十四年,郑文公、晋文公先后谢世。戍郑的秦大夫杞子等向穆公密报,说他们掌握着郑国都城的城防,建议穆公派兵偷袭郑国,由他们作内应,则郑国可灭。秦穆公多年以来处心积虑谋求向东发展,这个建议正中下怀,如能袭取郑国,即可进入中原,分享晋国的霸权。
于是,穆公向大夫蹇叔征求意见。蹇叔说:辛劳大军远道奔袭,这是我从未听说过的。跨越千里去袭击别人,人家怎么会不知道?我军长途跋涉,精疲力尽,人家有所准备,是不会成功的。但袭郑的诱惑力很大,穆公主意早已拿定,遂不听蹇叔意见,命令百里孟明、西乞术、白乙丙三帅率兵东进。
秦军袭郑,由秦都雍(今陕西凤翔县)至郑都(今河南新郑县),历程一千五百余里,中经桃林、肴函、轘辕、虎牢等数道雄关险塞,是一次冒险性的军事行动。
周襄王二十五年,春二月,秦军经过王都洛邑北门,"左右免胄而下,超乘者三百乘",表现轻佻无礼。秦军行抵滑国(在今河南偃师县之缑氏镇),遇郑国到周做生意的商人弦高。弦高见状,一面以滑国国君名义先送四张牛皮,然后送牛十二头,犒劳秦军,说:"寡君闻吾子将步师出于敝邑,敢犒从者。不腆(厚)敝邑,为从者之淹(久),居则具一日之积,行则备一夕之卫。"一面派人乘传车急回国内报告。
郑穆公获得弦高报告,立即派人去探察秦将所居的馆舍,见秦兵已"束载、厉兵、秣马",准备作战了。于是,郑穆公派大夫皇武子辞谢秦将说:君等久留在敝国,敝国已无法供应粮秣、牛羊。听说君等要离开,郑国有原圃,就像秦国有具囿一样,请你们自己去猎取麋鹿,让我们闲暇一下如何?秦将见机密已泄,杞子逃亡到齐,逢孙、扬孙逃亡到宋。
秦帅孟明见内应已逃遁,郑国有了准备,认为"攻之不克,围之不继",不如退兵,就袭灭滑国,满载战利品而还。
晋在文公的国丧之中,得到秦国偷袭郑国的情报,中军帅先轸认为,秦穆公不听蹇叔忠告,而以贪婪兴师,这是上天赐给我们击敌的机会,力主攻击秦军。大夫栾枝则认为没有报答秦穆公赐给的恩惠,反而攻击他的军队,这不是为先君着想。先轸说:"秦不哀吾丧,而伐吾同姓,秦则无礼,何施之为?"又说:"吾闻之:"一日纵敌,数世之患也。"谋及子孙,可谓死君乎?"襄公采纳了先轸建议,发兵击秦,并联合姜戎一道行动。襄公穿着丧服亲自督军,梁弘为他驾车,莱驹做车右。晋与姜戎联军在肴函地区的东、西肴山之间设下埋伏。
公元前627年四月,秦军进入埋伏圈,在晋与姜戎夹击下,全军覆没,孟明视、西乞术、白乙丙等三帅被俘。
晋军全胜而归,文嬴(文公夫人,襄公嫡母)向襄公请求释放秦国三帅,说他们是构成秦、晋二君间隙的罪魁,请让他们回国去接受杀戮。襄公即释放了秦国三帅。先轸得知,责备襄公处置失当。襄公又命阳处父去追击,秦三帅已登舟渡河。孟明等三帅回到秦国,穆公不但没有加罪,反而更加信用,使专任军事。
周襄王二十七年,秦孟明率师伐晋,战于彭衙(今陕西白水县东北),秦师失败。同年冬,晋大夫先且居率宋、陈、郑联军伐秦,取汪及彭衙而还。
次年,秦穆公亲自率军伐晋,渡过黄河,焚烧船只,以示决心死战。
攻取晋国的王官(在今山西闻喜县南)及郊(闻喜西)。晋人不出,秦军掉头向南,由茅津再渡黄河,到达肴山,封肴中秦军尸骨而后还。
此二役则是肴战之余波。
肴之战是春秋史上的一次重要战役。它的爆发不是偶然的,而是秦、晋两国根本战略利益矛盾冲突的结果。秦在肴之战中轻启兵端,孤军深入,千里远袭,遭到前所未有的失败。从此秦国东进中原之路被晋国扼制,穆公不得不向西用兵,"益国十二,开地千里,遂霸西戎",肴之战标志晋、秦关系由友好转为世仇。此后秦采取联楚制晋之策,成为晋在西方的心腹大患。而晋国为保持霸主地位,也不得不在西、南二方对付秦、楚两大国的挑战。所以,楚虽未参加郩之战,但却是肴之战的最大受益者。