樊,殷义有些看不起张平,指着他们的住房说,这只配作马厩。又指着一口大镬说这可以铸铁器。张平以受侮辱为口实杀死殷义,拥兵与北伐军对抗。张平阻兵固守,殷义诚然不能辞其咎,但根本原因恐怕还是这位自封的豫州刺史不能容忍朝廷派来的豫州刺史。这类豪强,虽然他们原来也经常受到敌人的攻击,但当他们的既得利益稍许受到危害,他们则宁肯站到敌人的立场攻击自己的同盟者。
祖逖兴兵讨伐张平,这一仗打得很艰苦。军事进攻难以奏效,他就使用离间计,从张平部下分化出谢浮,用谢浮杀了张平。张平虽死,樊雅仍占据谯城,祖逖进据太丘,因军中乏食,处境十分困难。一天夜里,樊雅派兵偷袭,攻人壁垒,直逼祖逖营帐,军中一片混乱。祖逖沉着指挥应战,督护董昭英勇杀敌,终于打退了樊雅的进攻。为了尽快攻下谯城,祖逖向南中郎将王含求援,王含命参军桓宣领兵五百助战;祖逖又“征兵诸村保”,蓬陂坞主陈川使将领李头将兵助之。祖逖一面发兵进攻,一面派桓宣人谯城劝降,樊雅这才出城归降。经过一年多的苦战,祖逖终于攻占谯城,在豫州站住了脚跟,并打通了北伐的通道。
正当祖逖以谯城为根据地,且战且耕,逐步扩大战果的时候,发生了蓬陂坞主陈川叛归石勒的事件。陈川本是号称“乞活”的流民集团的首领,自称宁朔将军、陈留太守。这支流民武装长期割据浚仪蓬陂,曾经投降石勒,又受晋官号。陈川部将李头攻打谯城立功,祖逖遇之甚厚,赏赐他一匹骏马,以后李头经常感激地说:“如果能够奉事祖将军,我虽死无憾!”陈川听了大怒,遂杀李头。李头的亲党冯宠鼓动所属四百多人投奔祖逖,陈川更加怒不可遏,大掠豫州诸郡以为报复。祖逖则针锋相对,派将截获,并命令他们把抢来的财物归还百姓。陈川战败,于太兴二年(319年)四月以浚仪投降石勒。祖逖进攻蓬关,石勒派养子石虎率领五万大军救援陈川,可巧祖逖亦引兵来攻,彼此相见,免不得一场大战。逖兵寡失利,退驻梁国。既而勒将桃豹,复率精骑至蓬关,遂与石虎陈川,共击祖逖。逖设伏待着,败虎前驱,转而进攻石虎本部,虎大败而退去。石虎收兵回撤在豫州进行了一番洗劫之后,带着陈川回师襄国,只留下将领桃豹戌守蓬陂坞。这年十月,祖逖派督护陈超攻打桃豹没有成功;不久,再度派将领韩潜进击。韩潜占领蓬陂坞东台,桃豹退据西台,双方对峙四十来天,形成胶着状态。
祖逖决定设计智取。当时,双方粮草供应都很紧张,祖逖命令把沙土装在粮袋里,让一千多人像运送军粮一样,忙忙碌碌运上东台,又故意让几个人真的挑着大米,走在后面,佯装累得走不动了,放下担子在半道上休息。桃豹的军队缺粮已久,见晋军运粮,早红了眼。他们紧盯着道上那几个人,以为有机可乘,突然冲过来抢粮,那几个人扔下粮袋仓皇逃跑。桃豹的军队虽然抢到了几袋大米,但以为晋军粮食充足,反而更加人心惶惶,毫无斗志。不久,知石勒派部将刘夜堂用千头驴给桃豹运送粮食,祖逖侦知消息,派部将韩潜、冯铁等部在汴水截击,尽获其粮食和脚力。桃豹闻讯,连夜退兵东燕城,祖逖乘胜进军,派韩潜攻占封丘,威逼桃豹,他亲自率军夺取雍丘。接着,他又多次派兵进攻石勒屯戍,石勒在河南的境土日益缩小。太兴三年(320年)七月,石勒不甘心失败,派遣一万多精锐骑兵反扑,但又被严阵以待的北伐军所败。又经过一年多的反复争夺,祖逖取得北伐战争以来最重大的胜利,朝廷以此擢升他为镇西将军。
祖逖在北伐中不仅善于分化瓦解敌军,而且善于团结可以团结的豪强武装集团和坞壁主,这是他能够以弱小兵力多次打败敌军的重要原因。当时河南境内有赵固、上官巳、李矩、郭默等割据集团,他们各据一方,经常以兵戎相见。祖逖多次派人从中调解,晓以大义,消除他们之间的矛盾,使他们都服从自己的统一指挥。黄河沿岸还有一些小坞主,迫于石勒强大的势力,不得不臣服于石勒,送其子弟到襄国为人质。祖逖理解他们的处境,只要他们不与北伐军作对,一概不加追究。有时,他派出小股巡逻队,伪装抄略这些坞堡,给石勒造成假象。这些小坞主对祖逖感恩戴德,经常帮助北伐军刺探情报,使北伐军打了不少胜仗。
祖逖既长于御军,又善体恤民情。将士“其有微功,赏不逾日”;军队纪律严明,秋毫无犯。他在统治区内劝督农桑,恢复农业生产;在军队中一直实行且战且耕,以耕养战,以减轻人民的负担。他自奉节俭,不畜私产,其子弟与战士一样参加耕耘、背柴负薪。因此,北伐军得到河南地区人民群众的拥护和爱戴。有一次,祖逖摆下酒宴,招待当地的父老兄弟,一些老人热泪纵横,把祖逖比作再生父母,在座上歌日:“幸哉遗黎免俘虏,三辰既朗遇慈父。玄酒忘劳甘瓠脯,何以咏恩歌且舞。”
在极端困难的条件下,祖逖领导下的北伐军正是依靠群众的支援,同占据绝对优势的敌人苦战四年多,终于收复黄河以南的大片土地;北伐军也由小到大,越战越强,成为一支使“石勒不敢窥兵河南”的劲旅。石勒慑于北伐军的威力,转而采