计算机系副主任、党总支书记等职。1992年12月，任太原工业大学党委副书记。1994年底，调入山西省国防科工委，历任党委副书记，书记。2001年1月，任中共太原市委副书记。2003年2月，任中共太原市委常务副书记兼市委党校校长。2004年2月，调任中共运城市委副书记，3月任运城市代市长，4月任市长。2005年12月，任山西省人民政府副省长。2008年12月，任中共山西省委常委、宣传部部长。2016年11月，不再担任中共山西省委常委、宣传部部长，任山西省人大常委会党组副书记。2017年1月，当选为山西省人大常