杜预出身在曹魏政府的高级冒僚家庭。祖父杜畿有大功于曹操,曾先后出任护羌校尉、河东太守、司隶校尉和尚书仆射等职,受封为丰乐亭侯。父亲杜恕官至幽州刺史,并以建武将军领护乌丸校慰的职务。
杜预虽然生长在官宦人家,但不是那种只知享乐的纨绔子弟。他从小博览群书,勤于著述,对经济、政治、历法、法律、数学、史学和工程等学科都有研究。当时的人曾给他起个“杜武库”的绰号,称赞他博学多通,就像武器库一样,无所不有。他特别爱读《左传,自称有《左传》癖。
在杜预的青少年时期,曹魏政府的内部逐渐形成互相对立的两大政治集团——曹氏集团和司马氏集团。杜预的父亲杜恕是忠于曹魏政府的人。早在太和六年(公元 232年),杜恕曾上书提醒魏明注意司马懿连朋结党的动向。杜恕因此触犯司马懿,屡遭排挤,被出为外任。嘉平元年(公元249年),司马懿发动高平陵之 变,彻底击溃以曹爽为首的曹氏集团,完全掌握了曹魏政府的实际权力。当年,征北将军程喜秉承司马懿的意旨,劾奏杜恕,几乎将他置于死地。受到父亲的牵连, 杜预一直到三十多岁也未能出仕。
司马懿、司马师父子相继病死后,高贵乡公正元二年(公元255年),司马昭接替父兄职务执政。这时, 统治阶级内部力量的对比已发生根本变化,有政治军事实力的曹氏余党陆续被剪除干净,司马氏代魏只是个时间问题。司马昭为扩大统治基础,对某些政敌的子弟进 行笼络收买。司马昭素闻杜预的才能,极力争取他,亲自把妹妹嫁与杜预为妻。又在甘露二年(公元257年)恢复了杜预袭爵的权力,征辟为尚书郎。司马昭任相 国后,杜预改任为参相府军事。
景元四年(公元263年)五月,魏军兵分三路大举伐蜀。杜预被委任为主力军统帅钟会的镇西将军府长史。 魏军攻灭蜀国,钟会联合蜀将姜维谋反,准备杀害同来的魏军将领,以割据益州。次年正月,钟会在实施计划时,被乱兵杀死。魏军监军卫又乘机杀死了解这一阴 谋的邓艾。在这场变乱中,钟会的许多僚属丧生。杜预凭借智慧幸免于难。事后,他冒着被卫瑾构陷的危险,当众对卫璀杀人灭口的卑鄙行径进行指责,认为卫对 这场动乱也是有责任的。
羊祜死后,朝中为是否出兵伐吴争论不休。以太尉贾充、秘书监荀勖为首的一些人反对伐吴,认为晋军暂时没有足够强的力量吞并吴国。以中书令张华、都督督荆州诸军事杜预及龙骧将军王溶等为首的一些大臣则力主迅速攻吴。
晋武帝因为反对派的说辞,总是举棋不定,拿不定主意。杜预见司马炎犹豫不决,非常着急,于是再次上书,陈述伐吴之利害。他说,吴国的兵力部署捉襟见肘, 他们只能集中兵力保住夏口以东,如果西线有战事,他们都无力增援。杜预还婉转地批评晋武帝犹豫不决,屡次推迟灭吴大计,是在姑息养奸,养虎为患,给敌人喘 息的机会。他认为,晋国强大,孙吴弱小,伐吴即使没有成功,也不会有什么大的损失。
杜预一而再再而三地劝说,晋武帝仍是犹豫不决,可 见司马炎在伐吴一事上有多么地纠结。杜预见司马炎还不给予答复,干脆再次上书,这已经是第三次了。这一次他愤怒地批评了反对派,认为他们以小人之心度君子 之腹,是不顾国家利益的做法。杜预还说,我们要攻打东吴的消息已经被他们知道了,东吴肯定会采取对策,如果等到他们一切准备就绪,那么岂不白白增添了我们 伐吴的困难。
晋咸宁五年(公元279年),王上书请求伐吴,他说:“臣数参访吴楚同异,孙皓荒淫凶逆,荆扬贤愚无不嗟怨。且观时 运,宜速征伐。若今不伐,天变难预。孙皓卒死,更立贤主,文武各得其所,则强敌也。臣作船七年,日有朽败,又臣年已七十,死亡无日。三者一乖,则难图也, 诚愿陛下无失事机。”《晋书·王传》。
当时,司马炎正在与张华下棋。张华也是主战派,他也趁机劝说:“陛下圣明神武,朝野清晏,国 富兵强,号令如一,吴主荒淫骄虐,诛杀贤能,当今讨之,可不劳而定。”(《晋书·杜预传》)但是反对派还是固执己见,贾充、苟勖等人还是反对伐吴。大臣山 涛竟然说出了这样的道理:“外宁必有内忧,今释吴为外惧,岂非算乎”。但是由于主战派的屡次劝说,陈述利害,此时司马炎已经看清了当时的局势,决定伐吴。
晋灭吴一战中,杜预担任西线指挥,他智取江陵,为西晋的统一作出了卓越的贡献。其实这位驰骋沙场的人物,不善骑射,几乎不懂武艺。“身不跨马,射不穿札”。但是他喜欢读书,尤其推崇《左传》。
杜预虽没有武艺,但聪明过人。在晋灭吴的战争中,杜预巧施借刀杀人之计,除掉自己的劲敌张政,伐吴之战变得容易多了。
羊枯在临终前,羊祜给晋武帝举荐了一个人,他认为此人完全可以担此重任,这个人就是杜预。羊祜举荐杜预是有原因的,一方面是因为杜预是主战派,在羊祜生 前杜预始终站在羊祜一边。另一方则是因为杜预本人有这个能力接替自己,担当此任。杜预有卓越的军事才能,相信在以后的灭吴战争中能够大胜而归。晋武帝于是 任命杜预接替羊祜为镇南大将军。杜预南下荆州首府襄阳积极备战。
杜预是位文官,对军事、政治、天文、地理等各种学问都有很深的造诣,还修改过历法、注解过《晋律》。他当度支尚书管理财政时,提出50多条措施,都被采纳实施并且成效卓著。
都城洛阳的东北几十里有黄河孟津渡口,水流湍急。历代王朝都想在这里建桥,但因为施工困难而不敢动工。但杜预精心设计施工,用“联舟为浮桥”的办法终于 把桥造了起来,极大地方便了交通。杜预还制造过一些机械工具,像一牛拉几个磨的“连磨”、一部水车带动多部春米机的“连机碓”。
杜预是个文士,但打仗却狠。接替羊祜一上任就先给吴军一个下马威。他派遣一队奇兵偷袭金陵,东吴名将张政猝不及防,没想到这个文绉绉的杜预下手这么利索,一战就吃了败仗,大批吴军被俘。
张政刚上任就打了败仗,如果让孙皓知道了肯定会惩罚他,所以他没有如实禀报。杜预早知孙皓生性多疑,对臣下很不信任,于是他利用这一点,故意把抓到的几 个俘虏送到吴国的首都建业。孙皓见了很生气,召回张政,任命武昌监刘宪接替他的职务,孙皓果然中计。杜预巧妙地利用孙皓的多疑,故弄玄虚,借孙皓之手除掉 张政,不战而屈人之兵。在大战之前,更换主帅,这就为晋军的胜利创造了有利的条件。