薛宣本来在廷尉府担任过很小的吏职,后来又在大司农府做过“斗食”之吏,每年的俸禄不到一百石。他的时来运转,是在任不其县县丞时。一次,琅邪郡太守赵贡到各县检查,在不其县见到了薛宣。他凭直觉,感到薛宣可能是个人才,就让薛宣一路陪同。后来,薛宣被赵贡推荐到乐浪郡去做都尉丞。这以后,幽州刺史又举荐他为“茂材”,让他到宛句县去做县令。他的名声渐大,终于引起了大将军王凤对他的注意,让他做了长安县令。
地处京师的长安县县令可不是好做的,但薛宣做得很好,断案非常准确。于是,他又被提拔为御史中丞。在这一任上,薛宣的几次上书,奏劾官吏犯法和向朝廷推荐人才,也都有根有据,受到了成帝的赏识。然后,他又被派到地方上做郡太守。走到哪里,哪里的治安就稳定了。为此,他又再次被召回京师,官升左冯翊(京师三辅长官之一)。
在左冯翊任上,薛宣辖下的高陵县令杨湛和栎阳县令谢游,都犯有贪污罪。前几任长官曾几次查办他们,反被他们抓住些毛病,搞得灰头土脸的。薛宣一到任,这两个人即来拜见,其实是来试探他是个什么态度。薛宣非常周到地接待了他们,事后却暗地里着手调查他们两个的罪证。等到把他们的罪证拿到手,薛宣察觉那个叫杨湛的已有了悔改之意,对自己也很服从,就亲自把他犯罪的证据逐条写出,劝他自己主动辞职,但也申明他可以为自己辩护。杨湛知道自己罪证确凿,而薛宣言辞温和婉转,并没有意思要追查到底,马上上交印绶,并托人转达了对薛宣的谢意,以后也没有过一丝怨言。至于那个叫谢游的,自以为是大儒,有名望,对薛宣很不恭敬,以为薛宣拿自己没办法。薛宣于是亲自给他写了封信,指出了他在栎阳县实行的种种苛政,以及把非法敛来的钱财非法地使用,要他自动离职,省得到时候被追查法办,累及举荐他的人。谢游看了信,知道再不辞官,还不知会有什么样的下场,也交了印绶回家去了。对这两个贪官,薛宣的温和宽厚,恐怕是担心开罪于当时师承关系复杂的儒林。
薛宣的知人善任,也是很突出的。频阳县地处好几个郡的交界处,不容易管理,盗匪活动十分猖獗。但是,频阳县令薛恭,是因为“孝廉”才当上这个县官的,对如何治理百姓并不懂得。而粟邑县地方很小,远在山中,人民朴质胆小,容易治理,县令尹赏却是个很能干的人。薛宣于是把这两个人位置互换;尹赏治频阳,盗贼不敢在频阳出没,频阳就此安定了;薛恭治粟邑,粟邑的百姓一切照旧,官民相安无事,粟邑还是安定。薛宣很高兴,说在左冯翊辖下的各县,如果能使县官各得其人,自己就可以坐享其成了。在他的辖下,无论什么地方的官吏或百姓犯了法,他都只是通知各县的长官们自己处理。他告诉他们,自己之所以这样做,就是不想代替他们行使权力,希望他们能获得好名声。
按规矩,汉朝各官府中的官吏,每年总有几次休假。左冯翊府中的主掾张扶,每到休息日总是要求吏员们办公。有一次休假,薛宣见张扶还是照样办公,就对他说:“礼的精神重在和协,而为人之道重在通人情。休假到了,让吏员们照例休息,这规矩可是由来已久了。官府虽然有公事要办,可每个人的家小也盼望着尽一番天伦之乐。吏员们都想着要回家休息,主掾吏就应该顺从大家的意思。回家与妻子儿女相见,摆酒设宴,请来邻居们说笑相乐,这也是很好的事情啊!”张扶听了这话,很惭愧,觉得自己确实有点不尽人情。
薛宣后来做了丞相,还封了侯。做丞相,他并不称职。丞相府的属官们都认为他做事情太烦琐零碎了,并没有什么可称道的。后来,他被罢过两次官。最后因为儿子犯法,被削职为民。