鲁庄公原本打算坚守不出,但公子偃却认为可以分而治之,各个击破。相比起军容严整、战力较强的齐国,宋军破绽百出。可以先击破宋军,齐军自然就会退兵了。鲁庄公并没有听从公子偃的建议,但后者却并不打算奉命。为了壮大气势,公子偃在马匹上蒙了虎皮,偷偷率军从南门出城攻打宋军,鲁庄公得知后也率主力随后接应。宋军果然不是鼓起士气的鲁军的对手,被鲁军在乘丘打得大败。齐国见此情况,只得退兵。第二年宋国为了报仇,再度兴兵攻鲁,可惜有齐国帮助的宋国尚且不能战胜鲁国,如今单独出兵,自然更不是敌手。两军在酂地交战,鲁国先排好阵形,并趁宋军尚未列阵完毕时就发动攻击,再次将宋军击溃。

宋国没来由地被卷进了齐鲁的纠纷中,又连战连败,由此也引发了宋国的另一场内乱。原来在乘丘之战中,宋国的猛将南宫长万被鲁庄公以金仆姑箭射中,活捉了去,后来在宋国的再三恳求下才被释放回国。在迎接南宫长万时,宋闵公随口说道:因为南宫沦落为鲁国的囚犯,所以以后不会再尊敬南宫了。这本来是个无心的玩笑,没想到却因此断送了宋闵公的一条性命。

南宫长万被鲁国羞辱,本来就心怀愤懑,被国君如此嘲讽,自然怀恨在心,于是决定造反。周僖王元年(公元前682年),南宫长万发动叛乱,先在蒙泽杀死了宋闵公,又在东宫附近杀死了太宰华督,并立公子游为国君。宋国的公子们纷纷出奔曹国,并迅速组织起一支军队试图打退南宫长万。萧叔大心以及公室其他族人向曹国借兵,杀回宋国,先杀了南宫长万的族人南宫牛,又进入都城杀死了公子游,另立逃亡到亳地的公子御为国君,是为宋桓公。南宫长万及其另一员手下猛获仓皇出逃到陈国和卫国。宋国随即与陈、卫交涉,希望将这两人送回。卫国一开始还想庇护猛获,但在大夫石祁子的劝说下还是将猛获交了出来。而陈国在宋国许下的财礼的诱惑下,也乐得做个顺水人情,便将南宫长万灌醉,用牛皮裹紧送回了宋国。最终这二位都被处死。

经过这场内乱,宋国再次衰弱下去,无力与周边诸国抗衡。同时,齐桓公也意识到以齐国现在的国力还无法称霸诸侯,于是他将注意力转向国内,在管仲的主持下开始了政治经济体系的改革。

和鲁国的争斗没有占到任何的便宜,这对于执政伊始的齐桓公无疑是当头一棒。但齐桓公不愧是一代明君,他并没有因为暂时的挫折而畏缩不前,反而明智地认识到对于刚刚从内乱中平复的齐国,想要争霸,还是要从内政做起。于是他任命管仲为卿,在齐国掀起了一场全面的改革。

随着平王东迁和周王室地位的下降,宗法制在事实上已经土崩瓦解,那么以宗法制度为核心的户籍管理制度也需要相应的改革。春秋时期,各个诸侯国都有国(国都以内)、野(国都以外)之分。管仲将国都以内地区划分为21乡,分别为工、商和士居住,其中工乡3,商乡3,士乡15,士乡由齐桓公和高子、国子两家贵族各管五乡。乡(2000家)下有连(200家)、里(50家)、轨(5家)。

从属关系为:五家为轨,十轨为里,四里为连,十连为乡,分别由轨长、里司、连长、乡良人(或乡大夫)管理。国都以外地区为5属(区),为农民居地。属(9000家)下有县(9000家)、乡(3000家)、卒(300家)、邑(30家)。从属关系为:30家为邑,长官称为邑有司;10邑为卒,长官称卒帅;10卒为乡,长官称乡帅,3乡为县,长官称县帅,10县为属,长官称属大夫和属正长,由朝廷的五大夫直接管理。

管仲推行的这一制度称为“参果伍鄙”制度,它废除了分封制度下的贵族采邑,而代之以一种类似于后世郡县制的体制。不仅是一种日常行政管理的基本架构,有利于人员管理和赋税征收,它还直接与兵役制度结合起来,在齐国的争霸战争中起到了重要作用。由于“参果伍鄙”制度使用了轨、里、连、乡这种层层管理的体制,很容易在战时转化为军事建制。

根据管仲的设计,国都下属的二十一乡中,除去工商六乡外,尚有十五士乡。每家都出一名壮丁参军,一轨五家,便有五名兵士;以此类推,一里五十家,出五十名兵士;一连二百家,出二百名兵士;一乡二千户,出二千名兵士,五乡一万户,出一万名兵士,一万名兵士编为一军,十五士乡共有三万户,则共有三万名兵士,可编为三个军,平时作为行政长官的轨长、里司、连长、乡良人在战时变为军事长官,负责统领本地区所召集的士兵,齐桓公,国子,高子则分别统率一军。