洪武二十九年(1396年),宋晟被任为征南右副将军,讨伐广西巾并蒙等寨的苗人,擒获和斩杀七千余人。又过了一年,宋晟总领羽林八卫的部队讨平五开、龙里苗人。
洪武三十一年(1398年),宋晟出镇开平,随从燕王朱棣出塞,回来后筑万全卫等城。建文改元后,他仍镇甘肃。
明成祖朱棣即位后,宋晟入京朝见,进升为后军左都督,拜为平羌将军,遣回所镇地区。
永乐三年(1405年),宋晟招降把都帖木儿、伦都儿灰等部落五千人,获得马驼牛羊一万六千头,被封为西宁侯,食禄一千一百石,世袭指挥使。
宋晟共四次出镇凉州,前后二十余年,威信达于边陲。朱棣因宋晟是旧臣,有大将之才,所以用他专任边事,凡有奏请,总是批准。御史弹劾宋晟自专。朱棣说:"任人不专则不能成功,况且大将军统制一边,怎能完全拘泥于文法?"即敕令宋晟可以相机行事。宋晟曾请入京朝见,朝廷回报说:"西北的边务,全部托付给卿。不是朝廷召命,不要擅自来。"不久命他经营河西牧地,以及规划出塞方略。