常善,高阳人。
世代为大族。
父亲常安成,魏正光末年,蠕蠕侵犯边界,以统军身份跟随镇将慕容胜大败蠕蠕。
当时,破六汗拔陵作乱,打算威逼常安成。
常安成不从,率领部下讨伐破六汗拔陵。
以战功授伏波将军,赏给鼓乐。
后来与破六汗拔陵连续交战,死于战场。
魏孝昌年间,常善跟随尔朱荣入洛阳,授威烈将军、都督,加龙骧将军、中散大夫、直寝等衔,封房城县男,食邑三百户。
后来随从太祖平定侯莫陈悦,任天水郡守。
魏孝武帝西迁后,授武卫将军,晋封武始县伯,食邑增加二百户。
大统初年,加平东将军衔,晋封侯爵。
活捉窦泰,收复弘农,攻克沙苑,多次立功。
授使持节、卫将军,加假骠骑大将军、秦州刺史衔。
四年(538),参与河桥之战,加大都督衔,晋封公爵,授泾州刺史。
当时蠕蠕入侵,在北部边境抢掠,常善率军将其击败,夺回被掠走的全部财物。
授车骑大将军、仪同三司,又升任骠骑大将军、开府仪同三司、西安州刺史。
转任蔚州刺史。
连续治理三个蛮族聚居的州,很有政绩。
魏恭帝二年(555),晋封永阳郡公,食邑增加二千户。
孝闵帝登基,授大将军、宁州总管。
保定二年(562),入朝担任小司徒。
四年,突厥出兵,随公杨忠东征,命令常善接应。
五年夏天去世,当时六十四岁。
追赠使持节、柱国大将军、大都督、延夏盐恒燕五州诸军事、延州刺史。
儿子常升和承袭爵位。
在此之前,由于常善功勋,已授常升和为仪同三司。