예빈경(禮賓卿) 왕유(王惟)의 아들이다.
젊어서 문과에 급제하였고, 계속 승진하여 감찰어사가 되자 법을 지켜 굽힘이 없었다. 고종 때 소부소감(小府少監)으로 경상도를 안찰할 때 청탁을 물리쳤다.
권신 최우(崔瑀)의 아들 만종(萬宗)·만전(萬全) 형제가 쌀 50여 만석을 백성에게 놓아 이식을 받아들이면서 문도(門徒)를 파견하여 독촉 징수함이 가혹하여 백성들은 나라에 바칠 조세도 내지 못하게 되자, 세금을 바치기 전에 사채(私債)를 독촉하는 자는 처벌하겠다는 포고를 내림으로써 만종 등의 횡포를 견제하였다.
그 뒤 진주부사가 되어 선정하였으며, 동경유수(東京留守)로 전임하고자 하였으나 진주백성들의 청으로 1년간 더 유임하였다. 성품이 강직하고 청백하였을 뿐만 아니라 절도가 있었으므로 모든 일을 백성에게 이롭게 하였다. 세상을 떠나자 모두 “나라의 귀중한 보배를 잃었다.”고 하였다.