六月三日,鲁隐公率鲁军主力到达集结地,此时宋师已经向郑军进发。郑、齐、鲁三国君主马上举行会面,齐僖公在会上再次表达了适可而止、不可过于杀伤的慎战立场。鉴于齐僖公的态度,会议最终决定由郑军围攻郜、防两邑,鲁军拦截宋国援军;齐军暂不参战,而是作为后备军:如果盟军某部遭遇不利状况,齐军将火速支援。
宋军在丹水源头架了一座浮桥,大军通过丹水后就在单父(今单县)集结,此时郑军已经包围郜城。郜城距单父约四十里,两地之间的地区被称为“菅”;宋军就在通过菅地时遭到鲁军的阻击。
前面说过,鲁隐公由于曾遭受到宋殇公的莫大羞辱,所以一直寻找机会进行报复,因此这场战斗实际上就是为名誉而战了。
实际上,鲁军的人数处于劣势,所处地势也不占优,但是由于鲁国人把尊严看得比生命还重,所以攻势极其猛烈。他们的气势把敌人完全压制住了。战斗进行到日落时分,宋军战败,被迫退回单父。第二天清晨,齐国的一支援军赶到了,联军在菅地构筑了坚实的防线。宋军完全丧失支援郜城的希望,但是又不甘心撤军,于是就在单父与联军对峙。
郜城的规模比一般城邑要大许多,地处宋、鲁边境。这里在鲁惠公时期曾是宋、鲁两国的主战场,所以郜城的防御设施还是很完备的。但是郜城的青壮年大都被征发到商丘去了,城里可用的武器也很少,防守力量严重不足。守城者于是向防、梁丘和楚丘人发出急报,结果那三个地方的人也都自顾不暇,根本无力出兵救援。
郑国人决定采用全面开花的办法围攻郜城,他们制造了大量云梯和攻城车。士兵们在进攻时把所有的军旗都挥起来,把所有的战鼓都击起来,所有人的嗓子都扯起来。
士兵们蚁附于城墙,攻城车猛烈撞击城门;防线上到处起火、漏洞百出。郜城人把所有的武器都用尽了,他们在经过不失尊严地抵抗后终于放弃了。。
六月十五日,郑军开入郜城,郑庄公允许战败者带着财产离开或者留在原地,并保证任何人都不会受到阻拦或伤害。之后他就把郜城交付给鲁隐公。
郑军稍作休整便包围防邑,防邑的防御力量比郜城弱小得多。六月二十五日,防邑沦陷。尽管这两个城邑都是郑军攻陷的,郑庄公却只想要个正直、慷慨、廉洁好名声。他把防邑送给齐僖公,但是齐侯考虑到自己没什么功劳,而且防邑属于飞地,却与鲁国相邻;因此他推辞不敢接受。防邑就这样也被郑庄公送给鲁国了。