标题：明攻取庆阳之战
背景
明洪武二年(1369年)2月至12月，在明北伐灭元之战中，与元军在陕西和甘肃等地进行作战时围攻庆阳，历时3个月的作战。 
明军攻克山西以后，北方广大地区已尽为明朝所控制。惟陕甘方面尚为元军10余万人所盘踞：李思齐驻凤翔，张思道驻鹿台(今陕西高陵西南)以拱卫奉元(今陕西西安)，扩廓帖木儿则驻扎于塞外。
前哨战
2月26日，征虏大将军徐达以副将军常遇春和冯宗异(冯胜)为先遣部队渡黄河攻取陕西。三月初一日，徐达率大军自蒲州(今山西永济西南)渡河，进据蒲城，逼降元鄜城(今陕西洛川境内)守将施成，张思道闻讯逃往庆阳(今属甘肃)，明军不战而占有鹿台、奉元。12日，常遇春率部进逼凤翔，李思齐逃往临洮(今属甘肃)，凤翔又不战而克。时参政傅友德亦已攻克凤州(今陕西凤县)。
攻取庆阳之战
战前军事会议1369年4月2日，大将军徐达在凤翔(今陕西省凤翔县)会同各位统军将领，商议西征策略。因为当时元将李思齐在临洮，张思道在庆阳，阻拦了明军向西北的进军。
各位将领认为张思道容易被攻克，想取道豳州(今陕西省彬县)直攻庆阳，然后领兵越过甘肃一带攻打临洮(今甘肃省临洮县)。 
徐达根据李思齐和张思道的不同兵力、临洮和庆阳的地理形势，本着先易后难的原则，决定先攻临洮而后进取庆阳。徐达说：“不能这样。庆阳城池险要而守兵精良，不易攻取。临洮北边与河湟毗连，向西控制羌、戎，攻占这里，能够得到充足的战斗人员和丰富的物产。现在大军压境，铺天盖地，李思齐不向西逃入胡地，就会束手待擒。攻克临洮，旁郡就很容易攻取了。”各位将领听后，诚服徐达的分析和谋略。扫荡外围和夺取临洮于是，徐达留下偏将军汤和防守大本营的粮饷辎重，派遣指挥金兴旺、余思明等防守凤翔，然后调兵遣将西向奔赴陇州(今陕西省陇县)。丁卯日(初三)，明军攻占陇州后，继续进军至秦州(今甘肃省天水市) 马跑泉，元朝守将吕德、张义望风潜逃，徐达遣都督佥事陈德紧迫不舍，将其捕获，明军进占秦州。徐达分别派遣合肥卫千户王弘领兵五百守陇州、张规鲁将兵千人防守秦州，11日，自统大军进攻巩昌(今甘肃省陇西县)。元朝守将梁子中、汪灵、真保等献城投降。徐达即派郭兴镇守该地，兵分两路，一路由副将军冯宗异率领，进取临洮；一路由都督同知顾时率领，进取兰州。
丁丑日(十三月)，冯胜率兵到达临洮，李思齐势穷力竭，无计可施，遂献城投降明军，冯胜振人押送他到大将军徐达的军营。捷报奏闻朝廷，明太祖立即派遣使臣告谕徐达说：“李思齐投降之后，应当进攻庆阳、宁夏。不过张思道兄弟二人一贯狡诈无常，如果前来投降，应当要有周密的安排，千万谨慎，不要落入他们的圈套，上当中计。”
都督同知顾时攻克兰州，徐达派指挥韩温防守该城。随后，遣薛显在西宁击退元朝豫王，俘获他的部属辎重；徐达自率师从西向东，攻击前进。入安定州(今甘肃省定西县)，克会州(今甘肃省会宁县)，占靖宁州(今甘肃省静宁县)，又下隆德县(今宁夏自治区隆德县)，至此，庆阳以西诸州大部分为明军夺取。首夺庆阳5月丁酉日(初四)，徐达率兵到达萧关，遣军南下攻克平凉，令汤和防守泾州，又分兵派遣指挥朱明攻破延安，命他驻守该地，庆阳东面亦为明军所占，庆城基本成为一座孤城。另派指挥张焕率骑兵前往庆阳侦察敌情，徐达随后统兵进抵庆阳。当初，张思道在庆阳听闻明军攻克临洮，西逃之路断绝，恐惧万分，不得已向北窜走宁夏，而使其弟张良臣、平章姚晖守庆阳。张思道至宁夏，与金牌张等人都为原来仇敌元将扩廓帖木儿(又名王保保)捉拿。张良臣听闻其兄被擒，又受先到庆阳的明将张焕劝降，遂于辛丑日(初八)派遣他的知院李克仁等登记所属军民马匹数目请求投降。徐达派右丞薛显率领骑兵5000人前往庆阳受降。张良臣出庆阳城迎接明军，匍匐道路右侧，以示归顺的诚意，薛显信以为真。张良臣反叛，复占庆阳城戊申日(15日)夜里，张良臣反叛，复占庆阳城，派兵偷袭明军军营，薛显毫无防备，受伤逃出，指挥张焕被张良臣擒拿。徐达听说情况后，对各位将领说：“皇上高瞻远瞩，能在万里之外明察秋毫，今天发生的事情果如前时所料。然而张良臣复叛，是螳臂挡车，只能图取灭亡，自食其果。我应当与各位将领同心协力歼灭此贼!”庆阳攻城战城池攻防战
徐达于21日对庆阳实施四面围攻，展开长达3个月之久的攻城战。
在这个时候，冯胜、傅友德听说张良臣降而复叛，率兵由临洮到达泾州，汤和也率军前来会合。徐达害怕张良臣的党羽爪牙会彼此声势相通、互相援助，于是调兵遣将攻占庆阳与外界联系的出入通道。 
派俞通源率精锐骑兵攻打庆阳的西路，派顾时率军攻打庆阳的北路，派傅友德率军攻打庆阳的东路，派陈德率军攻打庆阳的南路。徐达亲自率大军直趋庆阳城下，从四面将城团团围住。张良臣先发制人，派兵出城挑战，均被徐达指挥兵将战败。六月辛巳日(19日)，徐达督促诸军围攻庆阳城。张良臣一面指挥兵将极力防守，一面潜派竹苛等人前往宁夏向扩廓帖木儿求援，被明军俘获，斩于阵上。徐达又派参随王敬祖率兵守彭原。
秋七月甲午日(初二)，徐达派遣降将李茂等，率领骑兵千人前往隆德、秦安等处招降，擒拿还没有归附的元朝的头目杜伯不花、罗左丞相等余党，其所占据的城镇均被平定。
击溃元朝援军
辛亥日(十九日)，扩廓帖木儿派部将韩札儿(又称哈札尔)攻陷原州(今甘肃省镇原县)，明军指挥陈寿战死。徐达闻报，与冯胜、傅友德商议，认为驿马关首当其冲，派遣右丞徐礼率军据守，又派指挥叶石真守彭原，调指挥韦正守豳州，傅友德、薛显驻守灵台。冯胜又与徐达计议：“今大军围攻庆阳，张良臣虽受困，但募能一时攻下。王保保(扩廓帖木儿)欲为张良臣声援，所以令韩札儿往攻原州，想以此解除明军对庆阳的压力。请求调兵遣将加强驿马关的军事力量，以便扼制原州的元兵，使他们无所施展。”徐达赞同他的建议。于是冯胜率领部属官兵向西南而去，临近驿马关，在距离庆阳城30里的地方安营扎寨。这一天夜里，韩札儿又攻陷泾州。辛酉日(二十九日)，冯胜自驿马关带兵前往救援，韩札儿战败逃跑，明军迫至豳州而返。冯胜仍然回军屯守驿马关。庆阳城元兵与外界的联系从此被明军彻底切断了。八月丙寅，庆阳小元帅密谋投降明军，为张良臣侦知而囚，城中其他投降者乘夜救小元帅出奔明大将军军营。徐达宽慰他们，并命令不准虐待投降的元军官兵。
明援军转战其他战场
在此之前，明太祖下诏，令常遇春自北平来会合攻庆阳，途至柳河川常遇春病逝。太祖又令偏将军李文忠代领其众，继续前往庆阳与徐达会攻。行至太原，适逢元军攻大同甚急，李文忠自作主张，返师救大同，途擒元平章刘帖木儿、黠寇四大王。在大同又与元将脱列伯(又称图鲁卜)战，生擒脱列伯，降其众万余，获马匹辎重甚多。
攻陷庆阳
八月癸未日(二十一日)，庆阳城被徐达率军攻克。当时，明朝大军围攻庆阳城甚急，张良臣串精兵由城东出战，企图突围，被顾时将兵击败，退入城中；又企图从西门突围，被冯胜率军击退。张良臣损兵折将，穷途末路，不得已登城呼唤吕德，约定投降，徐达不答应。这时，因庆阳城与外界的援助被切断，音讯不通，城中弹尽粮绝，以致出现熬煮人肉汤和泥吞食的情形。张良臣的部将姚晖和熊左丞、胡知院知道顽抗下去前景不妙、无路可走，便打开城门迎接明军，徐达率军自北城门进入庆阳城。张良臣父子投井寻死，徐达命令兵士将其吊出斩首。第二天，诛杀张良臣的党羽柴知院等以下200余人。留都督佥事陈德镇守庆阳。
张良臣骁勇善战，又多诈谋，军中将士称他为，“小平章”。他有养子七人，都娴熟各种兵器，武艺高强。军营中又有谚语：“不怕金牌张，就怕七条枪”。所谓金牌张，是张思道属下骁勇战将，与张思道同逃宁夏，为元将扩廓帖木儿所捉。张良臣以为依仗庆阳城高险要，城内又有众多井泉的有利条件就可固守；以为在外可凭借扩廓帖木儿为联络，互为援助，并有贺宗哲、韩札儿辅佐；在内有姚晖、格斡(葛八)等心腹爪牙，所以想负隅顽抗，固守城池。然而最终全军覆没，本人也落了个身首异处的下场。
元败失陕西
扩廓帖木儿为了解除庆阳之围，根据围魏救赵之法，派遣将军贺宗哲率精锐之师进攻凤翔。他们打地道直至城下，有兵士突进到瓮城内，但都被明军击退。先后激战15日，并未攻下。贺宗哲听说庆阳城已被明军占领，唯恐自己被围，才领军撤退，越六盘山向西逃窜。徐达遣顾时、薛显、傅友德率万余骑兵追击。贺宗哲又攻掠兰州，徐达另遣冯胜率17000多步、骑兵经靖宁(今甘肃省静宁县)进攻元军。贺宗哲渡过黄河，向西北逃窜，冯胜停止追击，班师回军。至此，围绕庆阳之战结束，陕西全境平定。