十一月间,司马炎发兵二十多万,分为六路,在东西千里的边境线上,同时出击。镇东大将军琅琊王司马伷向涂中(指涂水流域,今安徽江苏江北交界处);安东将军王浑向牛渚(今安徽当涂西北); 建威将军王戎向武昌;平南将军胡奋向夏口;镇南大将军杜预向江陵;龙壤将军王濬、广武将军唐彬率领巴蜀军沿江东下。太尉贾充为大都督,节制诸军。
战争正像羊祜所估计的那样,东吴的军队没有多大抵抗能力,晋军所向披靡。杜预向江陵、王浑向牛渚的军队一路克捷。王濬军顺流而下,在江中要害处,用炬火烧断吴军设置的铁锁链的阻碍,斩军杀将,屡获胜利。夏口以西的吴军很快瓦解。
王濬同胡奋、王戎一道,攻下夏口、武昌。吴军将士望风而降,晋军直逼建业。
这时,东吴坚决抗击晋军的,只有新任丞相的张悌和少数将领。张悌是有政治军事才能、忠于东吴政权的人。他自知东吴必败,只是为了尽"臣节",而去效死沙场。他督率丹阳太守沈莹、护军孙震,领兵三万,渡江迎击王浑军。
到牛渚时,沈莹劝张悌先不要渡江北上与晋军决战,要积蓄力量,等待东下的晋军水军到来时再战。张悌不同意,说:"吴之将亡,贤愚所知,不是今天才清楚的。我怕晋水军到来时,众心骇惧,不可复整。现在渡江,还可 以同敌军决战一番。若像你所说的那样,恐怕士众就要散尽了。坐等敌人到来,没有一个人死难,这岂不是个耻辱!"于是,引兵渡江,同晋军交锋。



