東晉政權建立後,廣大中原地區為匈奴、羯等少數民族的統治者所控製。在民族壓迫下的北方百姓希望東晉北伐,解除他們的痛苦。東晉統治集團的一些人士也曾有過多次北伐的軍事行動,但是,都未取得較大的成就。
時任軍谘祭酒的祖逖有感於社稷傾覆,常懷振興恢複之誌。他招募暴桀勇士為賓客義徒,待之如子弟,備加保護,因此受到人們非議,而他若無其事。當時琅邪王司馬睿渡江不久,尚未在江南站穩腳跟,來不及也沒有力量北伐。祖逖便向司馬睿提北伐的建議說,晉朝發生的動亂,並不是上邊無道而造成下邊怨叛,是由於諸王爭權,自相殘殺,使得戎狄乘機流毒中原。現在北方百姓被殘害,“人有奮擊之誌。大王誠能發威命將,使若逖等為之統主,則郡國豪傑必因風向赴,沈溺之士欣於來蘇,庶幾國恥可雪,願大王圖之”。司馬睿因此於公元313年任命祖逖為奮威將軍、豫州刺史,給他1000人的糧餉、若幹匹布,不給兵器,由他自己招募士兵。
祖逖於是從隨自己南渡的親黨部族中選百餘家北渡長江。船到江心,他敲擊著船槳,當眾發誓:“祖逖不能清中原而複濟者,有如大江。”辭色壯烈,部下都深受感動而慨歎。
祖逖渡江後,屯於淮陰,一麵打造兵器,一麵招募訓練兵士。招募訓練成一支2000多人的隊伍,然後向北進發。
當時黃河下遊地區主要為羯族首領石勒的勢力所控製。石勒表麵上受匈奴族首領劉淵、劉聰的號令,實際上他以襄國為中心,發展自己的勢力,謀求建立自己的政權,占據著今山東、河南、河北的大片地方。
在石勒控製黃河下遊的過程中,西晉在這一帶的勢力逐步被消滅或退出。留在當地的漢人為了抗敵自保,結成許多大小不等的武裝集團,大的上千家甚至數千家,小的數百家。他們築堡而居,稱“塢堡”,或稱“壁”、“壘”。塢堡主多是大地主或武裝集團的首領。塢堡各據一方,一般不相統屬,有的還互相吞並,發生戰鬥。他們與東晉和石勒的關係情況也比較複雜。祖逖北伐進入這一地區後,根據他們的不同情況采取不同的鬥爭策略。
晉北中郎將劉演在北方與石勒鬥爭時,曾署張平為豫州刺史、樊雅為譙郡太守。司馬睿南渡任丞相後,曾派桓宣前去勸說他們都歸附東晉。到祖逖北伐時,他們殺死祖逖派去的使者,勒兵固守。祖逖進攻他們,一年多攻不克,後誘使其部署謝浮殺死張平,進駐太丘。樊雅據譙城與祖逖相拒,祖逖久攻不下,南中郎將王含派參軍桓宣率兵500幫助祖逖。後樊雅經桓宣勸說,投降祖逖。祖逖於是進駐譙城。石勒派石虎領兵困譙城,王含再派桓宣增援祖逖,石虎退走。
蓬陂塢堡主陳川自稱陳留太守,本來支持祖逖北伐,曾派其部將李頭幫助祖逖進攻樊雅。後因其部將率眾歸附祖逖,進而反對北伐。他大掠豫州諸郡,被祖逖打敗後,舉浚儀叛降石勒。祖逖率眾討伐陳川,石勒領兵5萬援救,被祖逖打敗。石勒於是收兵掠豫州,並將陳川部眾5000戶遷往襄國,留桃豹等守浚儀城,據守城的西半部。祖逖派遣部將韓潛等占據城的東半部。兩軍同處一大城,對方從南門出入放牧,晉軍開東門,相守40日。祖逖軍已缺糧,但用許多布袋裝滿土,然後派千餘人連續運進城中;又派幾個人擔米,偽裝極端疲勞而休息道旁。桃豹軍來追奪時,他們棄擔而走。敵人搶得糧食,便以為祖逖軍隊運入城中的都是糧食,糧食充足;而他們自己缺糧已久,因而心裏害怕,士氣低落。石勒派人以千頭驢運糧接濟桃豹,又被祖逖派韓潛等截獲。桃豹於是被迫乘夜撤走,退據東燕城。祖逖派韓潛屯兵封丘以進逼桃豹,自己則進屯雍丘。祖逖其後曾多次襲擊石勒軍,石勒又派精騎數萬襲擊晉軍,又被祖逖打敗。他鎮戍的據點因此歸附祖逖的很多,控製的地區不斷縮小。