周灵王九年(公元前563年),在晋悼公兴复霸业之战中,晋、宋、鲁、卫、曹、莒、邾、滕、薛、杞,齐联军进攻郑国(今河南中部)的作战。
周灵王八年冬,晋悼公率诸侯联军入郑,迫使上一年冬叛晋从楚的郑复从于晋。不久,楚共王率军攻郑,讨其叛楚。郑复背晋附楚。鉴于楚在中原地区的势力不断受到晋国的削弱,九年六月,楚共王遣令尹子囊率军攻宋。郑简公亦遣郑卿士子耳领兵助战。楚、郑联军取道宋南部边邑訾毋(今河南鹿邑南)北上包围宋都商丘,攻其北门。与宋同附于晋且关系密切的卫国(今河南北部一带)国君卫献公闻悉商丘被围,率军进驻卫东部边邑襄牛(今山东范县一带),欲伺机入宋解围。为阻止卫军救宋,郑奉楚命遣大夫皇耳领兵北上攻卫。卫军击败来犯之敌,乘胜追击,在宋地犬丘(今河南永城西北)俘获皇耳。七月,楚、郑联军因商丘久攻不下,遂释商丘之围,经鲁国西部南下,于八月十一日攻克宋东部边邑萧(今安徽萧县西北)。九月,郑卿士子耳又率军侵入宋北境。值楚、郑联军攻宋之时,晋悼公为避免与楚军直接交战,未发兵救宋。待楚、郑联军撤走后,晋悼公决定率军攻郑。九月二十五日,诸侯联军在晋悼公与宋、鲁、卫、曹、莒、邾、滕、薛、杞之君及齐太子光的率领下进抵郑地牛首(今河南通许东北)。为达到不战而屈人之兵的目的,诸侯联军自牛首西进至晋于二年(前570年)所占郑之要邑虎牢。为加强城防,晋悼公指挥军队加筑虎牢邑,并命晋军在虎牢附近再筑梧、制二城,分别由晋将士鲂、魏绛戍守,构成诸侯联军即将大举攻郑的态势。当时,郑历经公族内乱不久,国力衰弱,面对诸侯大兵压境,甚为恐惧,遂向诸侯乞和。冬,晋悼公与其媾和。楚共王闻悉诸侯攻郑,遣令尹子囊率军北上。十一月,诸侯联军进抵郑南部阳陵邑(今河南许昌西北),以阻遏楚军北上。晋军主帅荀罃主张联军稍撤以示弱于楚军,待其骄狂、松懈而后击之。晋下军主将栾黡对此竭力反对,并擅自率其所部南下迎敌。荀罃恐下军有失,被迫率全军南下,于十一月十六日进至颍水北岸,与楚军隔水相峙。已与晋媾和的郑闻知楚军北上,遣使夜渡颍水,与楚结盟。栾黡欲领兵攻击郑军,讨其无信,被荀罃制止。
荀罃认为晋军既无战胜楚军把握,又无法保障郑不再遭受楚攻击,则不如暂且退兵。晋悼公同意荀罃的意见,率诸侯联军经郑北部撤走。子囊见诸侯释郑而去,亦领兵回国。