据史料记载,王继恩早年曾被姓张的人家收为养子,取名德均,于后周世宗柴荣在位时期入朝为宦,赵匡胤“黄袍加身”后成为宋宫内宦。由于他具备极高的军事素养,宋太祖便命其随军征伐,在宋灭后蜀、南汉、南唐等战争中都发挥了重要作用,战功卓著,因此宋太祖批准了他恢复本姓的请求,并赐名继恩。
开宝九年(公元976年)冬,宋太祖赵匡胤陡然驾崩,由于其死前并未指定皇位继承人,为稳定秩序,太祖皇后宋氏命王继恩诏令四皇子赵德芳入宫,处理赵匡胤后事。谁知王继恩出宫后并没有去通知赵德芳,反而擅作主张,邀请请私交甚笃的晋王赵光义入宫,因为在他看来,太祖并无传位四子之意,而是想把皇位传给弟弟赵光义。
眼看赵光义欣然入宫,大局已定,宋皇后连忙向赵光义下跪,请求小叔子以后能照顾他们孤儿寡母。赵光义继位后,为感谢王继恩,命他担任宫苑使,负责管理整个宋宫,不久又命他兼任河北刺史,掌管京畿各地军械库存。在宋太宗北伐燕云时,王继恩担任宋军后勤负责人;四川发生王小皤、李顺农民起义时,王继恩监军平乱,此役共斩杀三万农民军。
宋太宗赵光义病重时,王继恩又在宋朝皇位继承上发挥了不小的作用——本来太宗想传位给长子赵元佐,但赵元佐却患有严重的精神疾病,时常放火烧屋,在朝臣的劝谏下,赵光义才将储君换为赵恒,即后来的宋真宗。然而李皇后因与赵恒有隙,便与兄长李继隆和宫苑使王继恩商量,在宋太宗驾崩后,拥立赵元佐为帝。此事被宰相吕端得知后,他以李皇后无子为由对众人进行劝说,好让李皇后回心转意,然后又将李继隆与王继恩等予以幽禁,好让赵恒顺理成章地继承皇位。赵恒登基后,在吕端的建议下,将王继恩贬为右监门卫将军并远戍均州,到任不久,王继恩病逝于均州,也算是得到了善终。
有意思的是,后世史家对王继恩多抱有同情,因为从一些蛛丝马迹看来,王继恩参与的这两次皇位更替,更多地是在为他人背锅。第一次帮助赵光义登基时,王继恩肯定受到了后者的胁迫,毕竟一个宦官是不敢轻易做出改变帝国继承人的决定的,赵光义成功登基后为获得继位合法性,自然会把他推出来背锅的,之后对他的重用都是对他默默背锅的补偿。
第二次参与夺嫡时,王继恩则是为李皇后等人背黑锅,从吕端凭借三言两语就能劝说李皇后放弃计划,就能看出,宋太宗和李皇后对谁继承帝位一直都是犹豫不决的,如果王继恩当时能够相加劝解,李皇后也不会做出易储之事。夺位失败后,罪行自然不能由幡然悔悟的李皇后来背,所以王继恩又一次站出来背锅。宋真宗继位后,本想诛杀王继恩,但在李太后的示意下,并没有对王继恩太过为难,只是把他贬谪了事,这也正是王继恩虽然参与两次皇位易更,最后却能善终的原因所在。