成化十九年(1483),
亦思马因入侵,
大同总兵官许宁派遣刘宁与董昇驻营西山,
周玺守怀仁,自己统帅中军,击之夏米庄,败绩。刘宁与董昇被团团包围,几乎沦陷。刘宁发巨炮击之,敌多死,方才解围。周玺听闻中军失利,亟还兵援,并乘胜追击。随后汇合刘宁,重整军队,敌乃退。刘宁将兵三千,遇敌聚落站西,连战败之。复败之白登、柳林,又追败之小鹁鸽谷。而大同西路参将
庄鉴亦邀其归路,战于
牛心山,敌遂遁。当时许宁因作战失利获罪,唯独刘宁与周玺有功,刘宁超迁
都督同知。
弘治十三年(1500),大同告警,出任命其为副总兵,从平江伯
陈锐抵御。陈锐无将略,与刘宁不和,致使寇军撤退。遂坐停半俸闲住。寻以参将赞画
朱晖军务,亦无功。刘宁自陈
哈密功,乞封伯,诏还全俸。
刘宁有胆智,为大同副将时,入贡者数万人怀异志。刘宁率二十骑直抵其营,众骇愕。有部长勒马引弓出。刘宁前下马,与诸部长坐,举策指画,宣天子威德。一人语不逊,刘宁掴其面,奋臂起,其长叱之退。刘宁复坐与语,呼酒欢饮,皆感悟,卒如约。