元代晚期,政治腐败,社会混乱,阶级压迫与民族矛盾也日益加深,以朱元璋为首的农民起义军终于占领集庆路治(今南京市),并作为根据地,然后派兵北伐,最后取得全国政权。
朱元璋在取得集庆路后,当时尚未称帝,即改集庆为应天府,称帝后的洪武元年(公元1368年),朱元璋以应天府作为南京,第二年又开始兴建新城,这是今天南京市得名的由来。到洪武十一年(公元1378年)才改称京师。这是因为原来打算以北宋时的东京作为明的北京,后又放弃这一计划,所以南京又用京师称号。
朱元璋死后,因为太子早亡,便传位给孙子朱允炆〔wen文〕,即建文帝,引起朱元璋第四子即坐镇北平(即元大都改名)的燕王朱棣的不满,借口“清君侧”派兵南下,攻入南京,夺取了政权。朱棣就是历史上所称的明成祖,也称永乐帝。他的根据地在北方,所以即位以后仍然回到北平,把北平改为北京,北平府改为顺天府。以后北京名称一直延续下来,仅在民国时期一度改称北平,但群众习惯上仍称北京。
明成祖虽然迁都北京,但又不好一下子改变他父亲建都南京的旨意,所以仍称北京为“行在”。行在又称为“行在所”,是指古代皇帝外出临时所驻的地方,早在汉代就有这一名称,后来常常被沿用。如南宋迫于北方力量的南侵,将首都由汴梁(开封)迁到临安(杭州),即常称临安为行在,就是不忘旧都而以临安为暂时性的行都的意思。明代直到第六个皇帝明英宗正统六年(公元1441年)才罢行在称号,改称为京师,南京应天府的地位不变,与北京顺天府合称为两京。
明代北京与大都的城垣也略有不同。一则北城墙南移约五里,由于受积水潭附近的地形影响,城的西北角成为斜角形而不是直角,永乐迁都,为规划设计宫城与皇城的需要,南城墙也随之南移约二里,形成明清北京城的内城,建有城门九座;二则明代为加强京师的防卫,又在嘉靖年间,开始修筑环绕内城四周的外城,由于财政困难,仅修了南侧的一面,这就是后来所称的外城。为方便城市管理,内外城划分为东、西、南、北、中五城,其中外城即为南城。外城建有城门七个,其名称除广宁门改广安门外,至今都在沿用。
为了保卫京师安全,巩固北部地区的防务,明王朝在北部也花了很多年的时间,建筑了西起嘉峪关、东到山海关的绵延不断的长城。明代长城,至今还有很大部分存在,有的也有旧迹可寻,一部分还是今天的旅游胜地,引起中外游人的极大兴趣。明代长城,比秦代的长城短,在山西从黄河以东到今北京市区北部又分为内外两条。为了保证明朝皇室的安全,在长城沿线的要冲地方都派重兵驻守,其中最著名的有居庸、紫荆(易县西)、倒马(今满城县西)、雁门(今代县北)、宁武(今宁武县北)、偏头(今偏关县)等关比较重要,前三者称为内三关,后三者称为外三关。还应一提的,山海关外明朝还建有很长一段长城,不过比较简陋,维持时期较短,起自山海关北,沿辽西走廊西侧东北行,到今阜新市东南,即改为东南行,直到今海城市西北的牛庄北又改向沿辽河东岸东北行,到今昌图县北又改向南行,直达鸭绿江北岸,通常称为边墙。边墙以外原来向北直到今黑龙江入海口以北都是明的辖境,由于永乐帝南下争夺政权,把控制三卫(朵颜、福余、泰宁)的宁王迁往内地,放松了对这一地区的管理。
明王朝不仅在北部修筑长城,并且在沿线及附近设置了九个军事重镇,加强防御,各设巡抚以分巡各地安抚军民,并提督其他军务。《明史·兵志》说:“东起鸭绿,西抵嘉峪,绵亘万里,分地守御,初设辽东、宣府、大同、延绥四镇,继设宁夏、甘肃、蓟州三镇,而太原总兵治偏头,三边制府驻固原,是为九边。”可见这九个边防区的中心皆叫镇,其中驻偏头(即今偏关)的太原总兵有时驻于宁武所(今宁武县),所以这里也就成为山西镇的所在地。固原州即今宁夏的固原县,它可以向北支援宁夏镇(今银川),西北可以支援甘肃镇(今张掖市),东北可以支援延绥镇(今榆林市),当时为陕西镇的所在地。北为宣府镇在今宣化,大同镇在今大同市,蓟州镇在今迁西县西北三屯营,辽东镇则迁移次数较多,有辽阳、广宁(今辽宁北镇县)、山海关、宁远(今辽宁兴城市)等处,撤销也比较早。明代不仅在九边设置了巡抚,后又加设了三个总督,即蓟辽总督、宣大总督与陕西三边总督,但政治腐败,冗员过多,即使是铜墙铁壁,又有何用,在明王朝覆灭之前,后金(后改为清)兵锋已经深入内地。