晋武帝咸宁五年己亥,公元279年吴国桂林太守允去世。允的部曲应当分别归属于各个将领。督将郭马、何典、王族等人几代都在这支军队中,不愿意分离。这时,吴主正在调查、核实广州的户口,郭马等人就乘民心不安的时机,聚众起事,杀子广州督虞授,郭马自己封为都督交、广二州诸军事,派何典去攻打苍梧,派王族去进攻始兴。秋季,八月,吴国任命军师张悌为丞相,牛渚都督何植为司徒,执金吾滕为司空。还没来得及授官,又任命滕为广州牧,率领一万人从东路去讨伐郭马。郭马杀了南海太守刘略,赶走了广州刺史徐旗。吴主又派遣徐陵督陶率领七千人,从西路与交州牧陶璜一起攻打郭马。
吴国发现了鬼目菜,生长在工人黄家里又发现了买菜,生长在工人吴平家。负责管理国家图书的官吏,查考书籍,给鬼目菜起名叫芝草买菜起名叫平虑草。吴主任命黄为侍芝郎,吴平为平虑郎,授予他们银印和青色的绶带。
吴主每次宴会群臣都要把大臣们灌醉。他设置了黄门郎十人,专门负责搜集大臣们的过失。每次宴会结束以后,这十个人就向吴主汇报大臣们的过失,凡是大臣中有抵触的、说了错话的,都向吴主举报,严重的被判刑、处死,轻的也要当作罪状记录下来有的被剥下脸上的皮,有的被挖去眼睛,因此朝廷上下人心相离,没有人肯为吴主尽力。
晋朝益州刺史王浚上疏说:“孙荒唐,凶暴反常,应当迅速地征讨他。如果一旦孙死了,吴国又立了一个贤明的君王,那么就成为我们的强敌了。我造船已经七年,每天都有船因腐烂而毁坏我年已七十,离死亡没有几天了。这三点只要一有失误,那么伐吴的大事就难以实现。我真诚地希望陛下不要失去机会。”晋武帝于是下定决心伐吴。这时,安东针军王浑上表说,孙要北上,吴国边境地区已经戒备森严。朝廷于是又商议明年再出后。王浚的参军何攀奉命出使正在洛阳,他上疏说:“孙必然不敢出兵,应当乘着吴国防备严密而突然袭击,这样更容易取胜。”
杜预上表说:“自从闰月以来,贼人只是防备得严,下游地区并不见吴兵沿江而上。依道理及形势推测,贼人已无计可施,其兵力不足以保全两边,必然要保住夏口以东地区以便苟延残喘,没有理由派很多兵士向西,而使国都空虚。但是陛下却由于误听,而丢开大计,放纵敌人而留下了后患,实在是可惜。过去假如举兵有可能失败,那么也可以不举兵。现在事情已经作了决定,务必要作得完美牢靠,假如能成功,那么就开创了太平的基础如果不能成功,损失耗费也不过在数日几月之间,何必吝惜而不去试一试呢!如果还要等到以后,那么天时人事就不能和往常一样了,我担心到时会更难。当前的举动万分妥贴,绝没有覆灭失败的忧虑,我已下定了决心,决不敢以暧昧不明的态度以自取日后的麻烦,请陛下明察。”一个月过去了,杜预还没有得到晋武帝的答复,杜预于是又上表说:“羊祜事先没有广泛地和大臣们商议、谋划,却秘密地与陛下一起推行这个计划,所以就更使得朝廷大臣有很多不同的议论。任何事情都应当把利益与损害相互比较,现在这一行动的利益占十之八九,而弊害只占十之一二,最多只是没有工劳而已。如果一定要让大臣们说出计划的弊端,也是不可能的,他们之所以对计划有不同的看法,只是因为计划不是他们制定的,自己没有功劳,即使对自己以前说的话有过失感到羞愧,但还要坚持自己的意见,以保住面子而已。近来,朝廷中的事情无论大小,总是各种意见蜂起,虽说人心各有不同,但是也是由于倚仗着恩宠而不考虑后患,所以很轻易地表示自己相同或者不同的意见。自从入秋以来,讨贼的举动越来越显露出来,现在假如中止行动,孙或许会因恐怖而产生出新的计划,迁都武昌,更完备地修整长江以南各城,把居民迁到很远的地方去,使城不可以攻,原野之中找不到东西,那么明年的计划或许就用不上了。”当时,晋武帝正在和张华下围棋,杜预所上表正好送到了,张华推开棋盘抵手说:“陛下圣明英武,国富兵强吴主邪恶凶残,诛杀贤良有才能的人。现在就去讨伐他,可以不受劳累而平定,希望您不要再犹豫了!”晋武帝接受了他的意见。任命张华为度支尚书,按计划从水路运粮。贾充、荀勖、冯等人不同意伐吴,坚持他们的意见,晋武帝大怒,贾充立即脱帽认罪。仆射山涛退朝回来和别人说:“古人云,“只有圣人能做到内外无患,假如不是圣人,外部安宁了就必然有内部的忧患。”以晋目前的情况来看,放着吴作外部威胁,难道产是良计吗?”
冬季,十一月,晋朝大举出兵讨伐吴,派遣镇军将军、琅邪王司马从涂中出兵,安将军王浑从江西出兵,建威将军王戎出武昌,平南将军胡奋出夏口,镇南大将军杜预出江陵,龙骧将军王浚和巴东监军鲁国人唐彬从巴、蜀进军,东西合计共有二十余万人。任命贾充为使持节、假黄、大都督,任命冠军将军杨济协助贾充,作贾充的副手。贾充坚持陈述伐吴不利,而且自称已经衰老,不能担当元师的重任。晋武帝下诏说:“你如果不去,那么我不亲自出征。”贾充不得已,于是接受了符节与斧,率领中军向南驻扎在襄阳,负责各部队的部署、调度与节制。
晋武帝太康元年庚子,公元280年杜预向江陵进发,王浑从横江出兵,攻打吴的兵镇及边防营垒,攻无不克。二月,戊午初一,王浚、唐彬打败了丹阳监盛纪。吴人把江边浅滩上的要害区域,用铁锁拦住,还打造了一丈多长的大铁锥,暗中放进江里,用以阻挡战船。王浚造了几十个大木筏,每一个木筏,长、宽都有一百余步。王浚让人扎了许多草人,草人披铠甲,拿兵器,放在大木筏上,让水性好的人与木筏走在前面,遇到铁锥,铁锥就扎到木筏上,被木筏带走了。王浚又造了许多大火把,火把长十几丈,有几十围粗,用麻油浇在火把上,把火把放在船的前面,遇到铁锁就点燃火把,一会儿功夫,铁锁就被火把烧得融化而断开,于是战船就无所阻挡。庚申初三,王浚攻克了西陵,杀了吴都督留宪等人。壬戌初五,又攻下了荆门、夷道两座城,杀了夷道监陆晏。杜预派遣牙门周旨等人率领八百名奇兵,在夜里泛舟渡过长江,袭击乐乡。周旨树起许多旗帜,又在巴山点起火。吴都督孙歆非常恐惧,写信给江陵督伍延说:“从北边过来的军队,是飞渡过江的。”周旨等人把军队埋伏在乐乡城外。孙歆派兵出城去打王浚,结果大败而回。周旨等人让伏兵尾随孙歆的军队进了城,孙歆没有觉察,周旨的兵一直到了孙歆的帐幕之下,活捉孙歆而回。乙丑初八,王浚打败了吴水军都督陆景,把他杀了。杜预进攻江陵,甲戌十七日,攻克了江陵,杀了伍延。这时候,沅、湘以南地区以及地界相接的交、广等州郡,都闻声把印绶送来。杜预手持符节按照皇帝的诏命安抚了这些州郡。到此时为止,总共俘获、斩杀吴都督、监军十四人,牙门、郡守一百二十多人。胡奋又攻克了江安。
乙亥十八日,晋武帝下诏书说:“王浚、唐彬已经平定了巴丘,再与胡奋、王戎一同平定夏口、武昌,顺长江长驱直入,直到秣陵。杜预则应当安定零陵、桂阳,安抚衡阳。大军过后,荆州以南的区域,传布檄文自然会平定。杜预等人各自分兵以增援王浚、唐彬,太尉贾充转移到项驻扎。”
王戎派遣参军、襄阳人罗尚,南阳人刘乔领兵与王浚一起攻打武昌。吴江夏太守刘朗、督武昌诸军虞投降了。虞是虞翻的儿子。