万历四十四年(1616),代替
官秉忠镇守延绥,屡败蒙古部落于
安边、
保宁、长乐,斩首三百有奇。西路
火落赤、卜言大惧,相继投降。沙计数次侵略边境,被杜文焕所败,遂纳款投降。既而再次与
吉能、明爱汇合,驻高家、柏林边,要封王、补赏十事。杜文焕袭其营,斩首一百五十。火落赤诸部落攒刀立誓,献罚九九。九九者,部落中罚驼马牛羊数也。已,沙计又伏兵沙沟,诱杀都指挥王国安,纠猛克什力犯
双山堡,复犯波罗。杜文焕击破之,追奔二十余里。当是时,
河套部落号称十万。然其众分四十二枝,多者二三千,少不及
千骑,屡不得志。沙计乃与吉能、明爱、猛克什力相继投降,延绥遂少事。杜文焕寻以疾告归。
天启元年(1620),再镇延绥。下诏杜文焕支援
辽东,杜文焕乃遣兵出
河套,捣巢以致寇。诸部大恨,深入
固原、
庆阳,围延安,扬言必缚杜文焕,掠十余日始去。命解职候勘。
奢崇明围
成都,总督
张我续请令杜文焕救援。至则围已解,偕诸军大破
佛图关,收复
重庆。奢崇明遁走永宁,杜文焕停顿不进。寻擢总理,尽统四川、贵州、
湖广的军队。杜文焕估计不能制贼,谢病去。坐延绥失事罪,
戍边。
天启七年(1627),起镇宁夏。宁远、
锦州告警,诏杜文焕驰援,俄令分镇宁远。进右都督,调守关门。不久告病归家。
崇祯三年(1630),陕西群盗起,五镇总兵并以
勤王行。总督
杨鹤请令杜文焕署镇延绥事,兼督固原军。数败贼,贼亦日益多。会山西总兵王国梁击
王嘉胤于
河曲,大败,贼入据其城。
兵部讨论设一大将,兼统
山西、
陕西军协讨。乃令杜文焕为
提督,偕
曹文诏驰至河曲,绝
饷道以困之。败寇于
府谷,又败
张献忠于清涧。
神一元陷宁塞,杜文焕家破。遂留杜文诏,令杜文焕西还。
弘光帝即位,起用杜文焕,与刘复生一起总督
巡逻、
巡捕二营,加
左柱国、
太子太傅、掌
中军都督府。杜文焕推荐韦世明、桂应青为总兵。南京失陷后,退往
金山卫,不久去世。