본관은 청주(淸州). 본래의 성(姓)과 이름은 이자림(李子琳)이다. 덕종(德宗)의 비(妃)인 현비(賢妃)의 아버지이다.
성종(成宗) 때 장원으로 급제해 서경장서기(西京掌書記)를 거쳐 화주방어사(和州防禦使)가 되었다. 1014년(현종 5) 김훈(金訓)·최질(崔質) 등의 무신이 난을 일으켰을 때 개성의 사저(私邸)에 있으면서 왕의 측근 김맹(金猛)을 통해 무신들을 제거할 것을 왕에게 알렸다. 이에 서경유수판관(西京留守判官)이 되어 이듬해 왕이 서경에서 군신과 함께 향연(饗宴)을 벌일 때 김훈·최질 등 19인을 베고 이들의 발호(跋扈)를 방지하였다.
1021년 상서우승(尙書右丞)으로 경주(慶州)에 가서 고선사(高僊寺)의 금라가사(金羅袈裟)와 불정골(佛頂骨), 창림사(昌林寺)의 불아(佛牙)를 가져와 궁중에 보관하였다. 1022년에 동지중추사(同知中樞事)를 거쳐 중추사 국자좨주(中樞使國子祭酒)가 되었으며, 1023년 호부상서(戶部尙書)로 치성공신(致盛功臣)이 되었고, 1027년에 참지정사(參知政事)가 되었다.
1029년 이응보(李膺甫)·황보유의(皇甫兪義)·황주량(黃周亮) 등과 더불어 개경에 나성(羅城)을 쌓은 공으로 검교태위 행이부상서 겸태자소사 참지정사 상주국 개성현개국백 식읍 7000호(檢校太尉行吏部尙書兼太子少師參知政事上柱國開城縣開國伯食邑七千戶)에 봉해졌다. 또 수충창궐공신(輸忠創闕功臣)이 되었으며, 왕씨(王氏)가 사성(賜姓)되었을 뿐만 아니라 처(妻)인 김씨(金氏)도 개성군부인(開城君夫人)에 봉해졌다.
1030년 내사시랑 판삼사사(內史侍郎判三司事)가 되고, 이듬해 덕종에게 딸을 납비(納妃)해 문하시랑 동내사문하평장사(門下侍郎同內史門下平章事)에 올랐다. 요(遼)의 성종(聖宗)이 죽고 흥종(興宗)이 즉위한 것을 축하하기 위한 사신으로 갈 때 압록성교(鴨綠城橋)를 헐고 억류된 우리 사신을 돌려줄 것을 요구해 듣지 않으면 절교하자고 청해 표(表)를 보냈으나 거란이 응하지 않자 해마다 보내던 하절사(賀節使)의 파견을 중지하였다.
한편 유소(柳韶)가 거란의 성을 공파할 것을 청하자 이에 왕가도도 출병을 주장했으나 이루어지지 않았다. 1032년(덕종 1) 감수국사(監修國史)가 되었으나 청주에 내려가 있다 죽었다. 적극적인 북진파(北進派)의 한 사람으로 왕가도의 몰락 후 보수세력의 문신들이 등장했다고도 한다. 해서(楷書)를 잘 썼다.
태사중서령(太師中書令)이 증직(贈職)되었고, 현종(顯宗)의 묘정(廟廷)에 배향(配享)되었다. 시호는 영숙(英肅)이다.