下军出征前,献公本打算把晋戎骑兵的一半交给申生,但是申生考虑到上军可能要面对更强大的敌人,于是谢绝了父亲的好意,他最后只带走了两个百人队。因此兵力不足成为下军将领们最感头痛的问题;但是下军占领杨城后便取得了大戎的军队,这个难题就迎刃而解了。
大戎撤退后,霍军没有对狐厨发动进攻,而是匆匆绕过城邑继续行进;狐厨人对霍军进行追击,但是对方也不恋战。由于兵力不足,狐厨人无法拖住敌军的行动,只能目送霍军扬长而去。
得知霍军已经南下,申生很是焦虑,他立即命令狐酙(狐突之弟)率领大戎的全部骑兵全力追击霍军,他又在狐厨布置了两千大戎步兵,以增加城邑的防守力量。申生布置完上述工作,就率领下军与辅助部队向霍国进发了。
霍国的开国君主是周武王的弟弟霍叔处。霍叔当年因为参与“三监之乱”而被周公剥夺了爵位并遭到流放,但霍国的名号总算保留下来了。周公又下令把霍国由旧商的京畿之内迁到现在的戎狄混杂之地。霍国地势险要,城高而坚固。霍人和蛮族打了三百多年交道,战争经验丰富且战斗力强大,是极难对付的敌人。
晋下军在霍国南郊扎下营寨,申生和副帅里克绕着霍城查看地形。回到军营后,两人都感到十分头疼:霍城建在一处高地之上,被两道宽而深壕沟保护着;壕沟两端与汾水相连,底部插满尖桩。水可以从东北角引进来,再从东南角流回汾水,但是霍人关闭了入口和出口的闸门,所以壕沟里并没有水。
进口和出口之间是一条很高的堤坝,堤坝上部满了守军,可以抵御来自河上的进攻。这两道防线之间分布着多个小而坚固的堡垒,堡垒是一座座面积不大的夯土高台,高台上搭有棚屋,里面可以容纳十几名士兵。在这种防御体系下,敌军是无法进行突袭的。
另一面,霍人当看到晋军时也显得相当震惊,因为霍人根本不知道晋国扩军,以为所有的晋军都在围攻耿国。“如果晋军都在这里,那么耿国被围到底是怎么回事?会不会是假情报?而且一向与晋国为敌的大戎也加入了联军,晋国人到底在耍什么鬼把戏?”他们这样想着,百思不得其解。
晋军扎营后便开始在壕沟外构建工事,人们围着壕沟堆了一道墙,同时建起几座了望塔。霍国人在此期间错过了一次难得的战机,因为他们可以趁晋国人立足未稳的时候发动攻击;由于他们实在摸不清联军的底细,便只是眼睁睁地看着敌人把工事修完,而没有采取任何行动。
申生和将领们经过一番热烈的讨论后,制定了攻城计划。
晋人首先从壕沟与汾水北面的链接处作为突破口。他们计划摧毁那里的防御工事,然后把汾水引进外壕,这样军队就可以乘着木筏过去了,霍人的高台堡垒虽然坚固,但是体积太小,估计每座高台用三个移动堞雉、一个时辰就可以挖塌。如果造上几十个,第一道防线两三天就可以突破。
晋人马上开始行动。霍人调集了一些军队来加固外壕防线,申生倒是很高兴:如果两军搅在一起进行肉搏的话,堡垒上的弓箭手是会投鼠忌器的。
晋人在军营后面的丛林里建造木筏和攻城器,这样一来行动就不会被敌人发现。当所需工具都造好时,晋人就在夜里把它们运往指定地点。
晋人首先从南面开始进攻,攻势在一条很长的战线上展开,霍人不得不从其他位置调来军队加强防御力量。如此一来,东北角的防线就变得薄弱了。
埋伏在东北角附近的晋军见敌人中计,立即一拥而上,用密集的箭雨和大量的投枪打退了防御者,不多时就占领了目标。士兵们立即打开闸门,汾河水顿时汹涌灌入,少顷便灌满了壕沟。由于东南角的闸门还处于关闭状态,南北落差便使得河水漫过地表,淹没了守军脚下的土地,并很快升到了齐胸的高度。因为晋人事先在外侧堆了一道坡墙,所以他们的阵地没有受淹。
晋军先锋队见水涨起来了就把木筏投进水里,划过敌人的防线。霍人开始时还能勉强站立,但是很快就开始随波逐流,最后无论死活都被冲到河堤(内侧)上了。河堤上的霍人把水里的同伴们捞上来,又把闸门打开,结果很多人就被冲进汾河,而晋人也冲到他们面前了。
东北方的晋人接到命令又关闭了闸门,水位便渐渐降下来,晋军先锋把吊桥放下来,联军的大部队便开进了霍国的首道防线。
但是霍人仍然依仗着堡垒进行顽强抵抗,堡垒上的弓箭手努力地射杀敌人,地面上的步兵的抵抗行为也十分英勇。进攻者举起盾牌结成龟型阵,以抵挡上面的攻击;地面的作战还算顺利,士兵们很快消灭了负隅顽抗的敌人。军队随后就把攻城器推过来开始挖墙角;其他人则在护城河外侧构建防线,以防止城内突袭。
东方渐白的时候,堞雉外面的土越级越高,夯土墙基几乎被挖空了,堡垒随时都有坍塌的危险。堡垒上的守军看到这个情况,他们对自己死相之惨烈的丰富想象力使得自己无法忍受内心的恐惧,于是便抛掉武器投降了。
霍人坚守不出,依靠高大坚固的城墙抵抗敌人的进攻,攻城行动简直就是白白送死。现在轮到晋人一筹莫展了,随后传来的一个紧急军报促使申生决定马上撤退。