贞元年间中进士。任山南西道推官，权知邛州事。从西川节度使韦皋，以拒副节度刘辟围攻邛州。唐宪宗元和初年，入拜吏部员外郎。元和九年（814年），由右司郎中擢御史中丞，改给事中。寻出为陕州大都督长史、陕虢团练观察使，兼御史中丞。旋入为尚书右丞。曾奉使安抚镇州王承宗。出为兴元尹、御史大夫、山南西道节度观察等使。唐穆宗即位，为尚书左丞。长庆二年（822年）为检校礼部尚书、鄜州刺史、鄜坊丹延节度使。长庆四年（824年），入为吏部侍郎，迁太常卿。唐敬宗宝历二年（826年），担任检校吏部尚书，充东都留守。唐文宗大和三年（8