杜预出身在曹魏政府的高级官僚家庭。祖父杜畿有大功于曹操,曾先后出任护羌校尉、河东太守、司隶校尉和尚书仆射等职,受封为丰乐亭侯。父亲杜恕官至幽州刺史,并以建武将军领护乌丸校尉的职务,但由于触犯司马懿屡遭排挤和劾奏,受到牵连的杜预一直到三十多岁也未能出仕。
魏高贵乡公正元二年(公元255年)司马昭执政后极力争取杜预,并亲自把妹妹高陆公主嫁于杜预为妻。
甘露二年(公元257年)杜预袭祖爵丰乐亭侯并被征辟为尚书郎。
陈留王景元四年(公元263年)杜预被委任为伐蜀主力军统帅钟会的镇西将军府长史,在之后的变乱中以智幸免于难。
咸煕元年(公元264年)司马昭委托荀勖、贾充、裴秀、郑冲等人改制礼仪、法律、官制,为上台作最后的准备。杜预时任守河南尹,受命参与法律的制定,并在后来完成了对《晋律》的全部注解。
西晋武帝泰始四年(公元268年)杜预针对世族和官吏荒淫腐败向晋武帝建议实行考课制度,但没有被朝廷采纳。
泰始六年(公元270年)杜预因得罪司隶校尉石鉴被解除守河南尹的职务。同年六月被晋武帝启用出镇边关,先为安西军司,后任秦州刺史领东羌校尉、轻车将军。由于拒绝对鲜卑叛乱的盲目出兵,杜预被石鉴再次构陷,虽因与皇室有婚姻关系被赦免死罪,但仍失去了爵位。
泰始七年(公元271年)山西地区匈奴暴动,杜预因明于筹略,善于规划被朝廷重新启用参谋军机,不久就升迁度支尚书。在之后的七年任期中,杜预向晋武帝提出过五十多项治国治军的建议,其中包括常平仓的兴建、谷价的调整、盐运的管理、课调的制定和边防的建置等等。此外,他还充分施展自己的聪明才智,积极进行科学发明,成功制造人排新器,并复制出久已失传的欹器。为了解决洛阳的交通问题,他力排众议,主持修建了富平津大桥。杜预发现当时通行的历法不合晷度,经过计算,纠正了其中的差舛,修订出《二元乾度历》并取代时历,通行于世。
咸宁四年(公元278年)对兖豫诸州郡的涝灾,杜预两次上书陈述了救灾计划。同年十一月晋武帝改任杜预为镇南大将军,南下襄阳接替已经去世的原荆州都督羊祜。
咸宁五年(公元279年)杜预派兵奇袭西陵,并离间了东吴君臣,使孙皓用刘宪接替吃了败仗的名将西陵督张政。同年八月,杜预上书请求伐吴,晋武帝由于反对派的谣言迟疑不决。之后杜预先后两次上书再陈伐吴,加之中书令张华的恳求才使司马炎下定决心出兵伐吴。十一月,晋军兵分六路,水陆并进,大举攻吴。杜预担任西线指挥,并负责调遣益州刺史王濬的水师。
太康元年(公元280年)杜预率领部队包围江陵城,设计夜袭乐乡,生擒了吴军都督孙歆,进而拿下江陵,占领了整个荆州。之后杜预挥师东进,并分兵南下吞并交、广,果断的分析战况将势如破竹,鼓励各军勇往直前,并放手让王濬自行指挥水军。王濬不负所望,直下建业,建立了旷世之功。杜预以功进爵为当阳县侯。西晋统一后,杜预继续镇守襄阳四年之久,兴建了诸多水利工程,解决了农田灌溉和长江排洪等问题,老百姓颂其政绩,并称之为“杜父”。
太康五年(公元284年)杜预被征调还都辅政任司隶校尉,加位特进,途中行至邓县,突然病故,时年六十三岁。晋武帝甚感悲痛,追赠征南大将军、开府仪同三司,谥曰成。 杜预身为统帅却不善弓马,运筹帷幄并长于史学。自称有“《左传》癖”,著有《春秋左氏经传集解》,清朝时编入《十三经注疏》,另外杜预还参考名家谱第,著为《释例》,又作《盟会图》对先秦历史和礼仪制度均有阐明,以及《晋律》的删定注解、《二元乾度历》的修订,对农器、机械的研究发明,使朝野称之为“杜武库”,意为无所不有。