为泉州别驾，福建观察使柳冕为讨好薛盈珍，想要杀他，被刺史穆赞所救。后改任恩王傅。元和初年（806年），迁虔州刺史。四年（809年），充安南都护、本管经略使。八年（813年），转桂州刺史、桂管经略观察使，入为刑部侍郎。十二年（817年），参与讨伐淮西吴元济，继任蔡州刺史、淮西（彰义军）节度使。十三年，转许州刺史、忠武军节度、陈许溵等州观察处置等使。十四年，改华州刺史、潼关防御、镇国军等使。迁检校刑部尚书、郓州刺史、天平军节度、郓曹濮等州观察等使。入为检校尚书右仆射、兼户部尚书。长庆三年（823年）卒，赠尚