杜淹是杜如晦的同高祖叔父,字执礼。祖父名业,北周时官至豫州刺史。父亲名征,北周时官至河内太守。杜淹聪慧,能言善辩,多才多艺。他年纪轻轻时就广泛受到赞扬,跟同郡的韦福嗣结为知心朋友,一起商议说:“皇上喜欢任用隐退的人,苏威就因为是隐士被召见,提拔成为高官。”于是一起进了太白山,宣扬自己隐居,实际上是想求得人们的传颂。隋文帝杨坚听说之后讨厌他们,遣送到江南担任守卫。后来回到老家,雍州司马高孝基向朝廷呈递奏表推荐他,他被任命为承奉郎。隋炀帝大业末年,官职做到御史中丞。王世充僭越称帝时,把他安排在吏部,很受重用。太宗平定洛阳后,他开始没被任用,就准备投靠隐太子李建成。当时封德彝负责选才任职工作,把这事告诉房玄龄,担心李建成得到杜淹,助长了他的阴谋,于是急忙禀告太宗,把他聘任为天策府兵曹参军、文学馆学士。高祖武德八年(625),庆州总管杨文干叛乱,供词牵连到太子李建成的东宫,罪责追究到杜淹和王王圭、韦挺等人身上,一起流放到西南边境的隽州。太宗知道杜淹没有罪责,赠送三百两黄金给他。太宗后来登上帝位,召他回京担任御史大夫,封为安吉郡公,赐给收纳四百户租税的实封。因为杜淹熟悉历代典章制度,特地诏令东宫仪式簿领,一概听取杜淹的节制调度。接着让他兼任吏部尚书,参与商议朝廷政务,先后上表推荐四十多人,后来知名的很多。
杜淹曾经推荐刑部员外郎邸怀道,太宗乘机问杜淹“:邸怀道的才干品行怎么样?”杜淹回答说“:邸怀道在隋朝任吏部主事,很有廉洁谨慎的名声。再如炀帝准备到江都去时,召集百官征求去不去的意见。当时炀帝已拿定主意要去,朝中的大官们都阿谀逢迎请求他离京前往,邸怀道的官职极为低微,只他一个人说不行。这事是我亲眼所见。”太宗问:“你那时同意哪种意见?”回答说:“我同意去。”太宗说:“侍奉君主的原则,即使冒犯了圣旨也不要隐瞒自己的真实观点。你说邸怀道的意见正确,为什么你自己不发表正确的意见进行劝谏?”回答说“:我那时不是大臣,又明白劝也没用,白白送死于事无补。”太宗说“:孔子讲顺从父母的命令,还不算孝子。所以父母应该有能劝谏自己的儿子,国家应该有能劝谏君主的臣子。如果认为君主无道,为何还是要在他的朝廷当官?既然拿了他的俸禄,怎能不纠正他的错误?”接着对臣子们说“:诸位就劝谏君主的问题谈谈想法怎么样?”王王圭说:“昔日比干劝谏商纣王而被杀死,孔子赞扬他仁;春秋时的陈国大夫泄冶因劝谏而遭杀害,孔子说‘:民众之中邪僻的多,不要去扶持邪僻的人来危害自己。’这就是说俸禄多的官员责任重,按理必须尽力劝谏;职位低的官员声望小,应该允许随和一些。”太宗又喊着杜淹的名字笑笑说“:你在隋朝的时候,可以因为人微言轻不多说话;后来当了王世充的亲近官员,怎么不尽力劝谏?”杜淹回答说:“也劝谏过,但是他不听。”太宗说“:王世充假如修养德性听从劝谏,应当不会灭亡;既然他无道又拒绝劝谏,你怎么避免灾祸?”杜淹无话可答。太宗又问:“你在今天,可以尽职尽责,还打算极力劝谏吗?”回答说:“我在今天,一定以死忠谏不隐瞒观点。再说春秋时的百里奚在虞国当官虞国灭亡了,到秦国当官秦国称霸天下,我向他看齐。”太宗笑了。当时杜淹身兼两职,却没有清正廉洁的声誉,又一向跟长孙无忌不融洽,遭到人们的讥讽。后来生病,太宗亲自到他家里慰问,赏赐绢帛三百匹。贞观二年(628)去世,追认为尚书右仆射,谥号为襄。
儿子杜敬同继承爵号,官职做到鸿胪少卿。杜敬同的儿子杜从则,中宗李显在位时任蒲州刺史。