杜暹年轻时考中明经,补任婺州参军,又改郑县县尉,以清廉节俭著称。后来,杜暹因公事获罪,交付法司。大理正杨孚叹道:“如若杜暹获罪,何以劝勉公正清廉之士。”他特意向宰相推荐杜暹,杜暹因此被擢拜为大理寺评事。
开元四年(716年),杜暹改任监察御史,并到碛西审核屯田事务。当时,安西副都护郭虔瓘与西突厥可汗阿史那献、镇守使刘遐庆等人不和,相互攻讦,唐玄宗便命杜暹调查。蕃人赠以重金,杜暹坚决推辞,不肯接受。随从劝道:“您出使到这边远之地,不可辜负蕃人的情意。”杜暹只得接受黄金,但却埋在幕帐之下。走出蕃境后,杜暹方才传书告知蕃人。蕃人大惊,越过沙漠追赶杜暹,但却追赶不上,只得作罢。杜暹回朝后,累迁至给事中。开元十二年(724年),安西都护张孝嵩调任太原尹,安西都护之职出缺。朝廷中便有人推荐杜暹,认为他曾出使安西,深得蕃人思慕。杜暹当时正为继母守孝,被唐玄宗夺情起复,擢拜为黄门侍郎,并充任安西都护府副大都护、碛西节度使。
开元十三年(725年),于阗王尉迟眺勾结突厥以及西域一些蕃国,图谋反叛唐朝。杜暹暗中探知,发兵征讨,斩杀尉迟眺,并诛杀他的党羽五十余人,而后另立于阗王。于阗国局势平定后,杜暹因功加授光禄大夫。他在安西任职四年,安抚将士,不辞辛劳,深得当地民心。开元十四年(726年),唐玄宗召拜杜暹为宰相,授他为同中书门下平章事。此前,交河公主(阿史那怀道之女)和亲突骑施,曾派使者到安西互市。使者向杜暹宣读公主教令,杜暹怒道:“阿史那的女儿怎敢向我宣读教令。”他鞭笞使者,将其扣留。苏禄可汗大怒,举兵侵入安西四镇,并围困安西城。这时,杜暹刚刚卸任回朝,继任的安西都护赵颐贞出战失利。苏禄可汗大肆掠夺四镇储积,不久听闻杜暹拜相,便撤军而回。
杜暹拜相后,与李元纮不和,常在政事上产生分歧,以致纷争不断。开元十七年(729年),唐玄宗将二人一同罢相。杜暹被贬为荆州长史,后历任魏州刺史、太原尹。开元二十年(732年),唐玄宗巡幸北都太原,拜杜暹为户部尚书,让他扈驾返回长安。开元二十二年(734年),唐玄宗又巡幸东都洛阳,命杜暹为长安留守。杜暹抽调轮值卫士,修缮三宫,加高城墙,并亲自巡查,从不懈怠。唐玄宗得知后,下诏褒奖。开元二十四年(736年),李林甫升任中书令。杜暹接替李林甫,出任礼部尚书,并封魏县侯。
开元二十八年(740年),杜暹病逝,终年六十余岁。唐玄宗追赠他为尚书右丞相,又命中使帮忙办理丧事,并赏赐绢帛三百匹,赐谥号贞肃。右司员外郎刘同升、都官员外郎韦廉认为杜暹忠孝双全,贞肃二字不能褒奖他的美德,请求更改谥号,杜暹之子杜孝友也向皇帝申诉。太常寺最终将杜暹的谥号定为贞孝。