靖难建功
薛禄早年在北平从军。建文元年(1399年),燕王朱棣起兵靖难,薛禄随军夺取北平九门。真定之战时,薛禄生擒左副将军李坚,因功升任指挥佥事。此后,薛禄随朱棣援救永平(今河北卢龙),攻克大宁(今内蒙古宁城)、富峪(今河北平泉北)、会州(今河北平泉西南)、宽河(今河北宽城),并回军北平,进封指挥同知。
薛禄
建文二年(1400年),燕军攻打大同,薛禄担任先锋。白沟河之战后,薛禄率军追击南军,一直追到济南,升任指挥使。十二月,薛禄率五十骑在东昌(今山东聊城)击败南军数百人。当时,朱棣战败,退回北平。盛庸命真定诸将屯兵威县、深州,截断燕军退路,但都被薛禄击破。
建文三年(1401年),燕军大战滹沱河,右军退却。薛禄策马驰援,前后冲阵数十次,大破南军,追击至夹河。单家桥之战时,薛禄被南军大将平安生擒,但他奋力挣脱绳索,拔刀杀死守卒,飞驰而回,又继续作战,终于击败平安。此后,薛禄又攻破顺德(今河北邢台)、大名、彰德(今河南安阳)、西水寨,生擒都指挥花英。
建文四年(1402年),薛禄趁胜攻破东阿、东平、汶上,并在淝河、小河、灵璧等战役中,战功卓著。六月,朱棣攻入南京,不久称帝,是为明成祖,并擢升薛禄为都督佥事。
加官封侯
永乐六年(1408年),薛禄升任都督同知。永乐八年(1410年),薛禄又充任骠骑将军,随成祖北伐,并升任右都督。
永乐十年(1412年),薛禄上奏道:“自古以来,用人必先进行教育。若不在闲暇时期教育武臣子弟,恐怕将来有战事时,没人可以委任。”成祖深表赞同,便命他操练各地送来的数万幼军。
永乐十五年(1417年),薛禄改任行在后军都督府,管理北京营造事务。
永乐十八年(1420年),明成祖迁都北京,封薛禄为奉天靖难推诚宣力武臣、阳武侯,世禄一千一百石。
永乐二十一年(1423年),薛禄再次随明成祖北伐,并率领右哨,回军后又讨平长兴群盗。次年(1424年)再次统领右哨,随明成祖北伐。明仁宗继位后,命薛禄掌管左军都督府,加封太子太保,赐铁券。
佩印巡边
洪熙元年(1425年),薛禄充任总兵官,镇守边塞,不久因擒获敌寇有功,增俸禄五百石。后来,仁宗给镇边众将颁发将军印。薛禄被任命为镇朔大将军,巡视开平,到达大同边塞。明宣宗继位后,薛禄被召回京师,并陈述守卫边疆的五项事宜,再次奉命巡边。
宣德元年(1426年),汉王朱高煦在乐安州(今山东惠民)起兵造反,明宣宗亲征讨伐,并以薛禄为先锋。八月,朱高煦投降,薛禄与尚书张本奉命留守乐安。
宣德二年(1427年),薛禄又巡视畿南各府,并严肃军纪,不许军士扰民。后来,薛禄再次担任镇朔大将军,北上巡视开平,此后驻扎在宣府(今河北宣化)。这时,瓦剌进犯开平,撤军时在三百里外扎营。薛禄率精兵昼伏夜行,三天后赶到敌营,派轻骑冲锋,大破敌军。薛禄回军后,见敌军跟踪在后,又将其击败。不久,薛禄被召回京师。
宣德三年(1428年),薛禄随宣宗北征,在宽河击败敌军,并留守蓟州、永平。此后,薛禄数次担任镇朔大将军,巡视边防,保护粮饷。
弃地病逝
至是阳武侯禄上疏极言其状,以为宜弃开平。时议难之。禄至京面陈其详,遂从开平卫于独石,弃地盖三百里。宣德五年(1430年),薛禄在凤凰岭击破敌军,加封太保,他还建议朝廷在永宁卫的团山、雕鹗、赤城、云州、独石等地筑建城堡,以防御敌军。不久,朝廷调发军民三万六千人前去筑城,又命精骑一千五百人随行保护,并让这些人都听从薛禄调遣。
同年六月,薛禄患病,宣宗便把他召回京师。七月辛酉(8月11日),薛禄病逝,终年七十三岁,追赠鄞国公,谥号忠武。