晋、郑两国的铁丘之战是由于晋国的内讧引起的。始,晋赵鞅(简子)伐卫,取卫五百家置邯郸,又欲迁晋阳(今山西太原)。治理邯郸的赵午,为搞好同卫的关系,不同意迁出。赵鞅怒,就把赵午杀掉。
赵午是中行寅(荀寅)的外甥,中行寅与范吉射有姻亲关系,于是范氏、中行氏联合起来攻打赵鞅,鞅逃晋阳,并受到了包围。晋定公为平息着场内乱,派兵套讨伐范氏、中行 氏。范氏中行氏被打败,逃到朝歌(今河南淇县)。
公元前493年八月,齐国送粮食给范氏、中行氏,郑国派军队护送,晋赵鞅要夺取这批粮食,两军在卫戚地铁丘(今濮阳县北二公里)相送。由鲁逃进的阳虎对赵鞅说:“我兵车少,应先列好队,遍插旌旗,彼见我状,必有惧心,战必胜之。”赵鞅从其言。
战前,赵鞅举行誓师大会,历数范似、中行氏罪状及郑弃君助邪的不道行为。宣布:克敌者,大夫受县郡土地;庶民工商者可以升官;奴隶可以免除努力身分。两军对阵,避难于晋的卫太子蒯聩为赵鞅车右,与赵鞅同登铁丘,望郑师众,太子大惧,跌于车下,御者将其扶起,骂他象女人一样懦弱无能.赵鞅怕兵士有怯战心理,以平民毕万七战获胜,家富百乘的事例,鼓励大家。蒯聩亦祈祷祖宗,保佑他们能打胜仗。
战斗开始,郑人射中赵鞅肩,鞅倒车内,帅旗亦被夺去。这时蒯聩举戈冲杀,晋军争着立功,个个奋勇向前。郑军后撤,蒯聩率军急追,郑师大败,晋得齐粟千车。战争中,范氏税官公孙尨被俘,赵鞅把他无罪放回。公孙 为报不杀之恩,率私属五百人,夜袭郑军,夺回帅旗,交于赵鞅,以报主德。
晋军胜利后,在论功行赏时,各夸自己的作用,但主要原因是赵鞅宣布解放奴隶,按功受赏的政策,调动了全军将士的积极性,才取得了这次战争的胜利。