宋晟,字景阳,定远人。父亲宋朝开、兄宋国兴,都随从太祖渡江,并都积功劳任到元帅。攻打集庆时,国兴战死,宋晟承袭他的职位。不久朝开请求回家终老,宋晟正随从邓愈攻克徽州,被召回,承袭父官。累升为都指挥同知,历镇江西、大同、陕西。洪武十二年(1379),他犯法被降为凉州卫指挥使。十七年五月,他讨伐西番叛乱首领,到亦集乃路时,擒获元朝海道千户也先帖木儿、国公把都剌赤等人,俘虏和斩杀一万八千人,将他们的酋长送到京师,挑选出他们的精锐一千人补充为部伍,其他人全部放还。宋晟被召回,重任为都指挥,进升右军都督佥事,仍镇守凉州。
二十四年(1391)宋晟充任总兵官,与都督刘真讨伐哈梅里。该地离肃州有一千多里。宋晟令军中多准备干粮,一天走两天的路,疾速前进,乘夜推进到了他们城下。天亮时,金鼓之声震地,敌人全城股栗战抖,遂攻克了其城,擒获其王子别儿怯帖木儿,以及伪国公以下三十余人,将其部落和辎重收缴而归。从此番人戎人慑服,我兵威达到西域。第二年五月宋晟随蓝玉征罕东,巡行阿真川,土酋哈昝等人逃走。部队回来后,他调任中军都督佥事。
二十八年(1395)六月,宋晟随总兵官周兴出开原,到达忽剌江。部长西阳哈逃走,官军追到甫答迷城,俘人畜而还。第二年他被任为征南右副将军,讨伐广西巾并蒙等寨的苗人,擒获和斩杀七千余人。又过了一年,宋晟总领羽林八卫的部队讨平五开、龙里苗人。三十一年他出镇开平,随从燕王出塞,回来后筑万全卫等城。建文改元后,他仍镇甘肃。
成祖即位后,宋晟入京朝见,进升为后军左都督,拜为平羌将军,遣回所镇地区。永乐三年(1405),他招降把都帖木儿、伦都儿灰等部落五千人,获得马驼牛羊一万六千头。他被封为西宁侯,食禄一千一百石,世袭指挥使。
宋晟共四次出镇凉州,前后二十余年,威信达于边陲。皇上因宋晟是旧臣,有大将之才,所以用他专任边事,凡有奏请,总是批准。御史弹劾宋晟自专。皇上说“:任人不专则不能成功,况且大将军统制一边,怎能完全拘泥于文法?”即敕令宋晟可以相机行事。宋晟曾请入京朝见,朝廷回报说:“西北的边务,全部托付给卿。不是朝廷召命,不要擅自来。”不久命他经营河西牧地,以及规划出塞方略。正好他这时病逝,这是在五年(1407)七月。