科举及第后,累任侍御史、兵部员外郎等官。“安史之乱”时,任太原少尹,协助李光弼守太原,颇有功绩和谋略,被舆论所推重,升任宪(刑)部侍郎。后,两次出任宰相。
外任河南副元帅、侍中持节都统河南淮西、山南东道诸节度行营事、东都留守、河东节度使兼太原尹、北都留守等军事要职,并以“才微位高”、“无益时事”、不应“无功增秩”等理由自谦,让出高位和兼职。在太原少尹任上,他整肃纪律,从严治军,将恃功自居不受约束的太原旧将王无纵、张奉璋等到以军法处斩,全军将校再不敢玩忽职守。
“安史之乱”被平息后,当王维因被安禄山俘虏而受审查时,他诚恳地要求免除自己的官职来为兄长赎罪,使兄长王维得到从宽处理。兄弟之间的情谊,颇受世人称赞。
晚年身为宰相,但面对权臣元载的专横行为,却不敢进行斗争,反而事事附和。大历十二年(777年),元载获罪受诛,他也被贬为括州(今浙江丽水)刺史。后,又被召归,为太子宾客、分司东都,直到去世。
一生笃信佛法,任宰相时,大兴佛教之风,使大历年间佛教盛极一时,寺庙云集,沃壤被占,僧徒横行,寺庙成为藏污纳垢之所,导致刑政失修,政治腐败。