王琳字子珩,会稽山陰人,出身军人之家。梁元帝萧绎作藩王时,他的姐妹都成为萧绎的妻妾并受到宠爱,他因此不到二十岁便能跟随在萧绎左右,从小好武,于是就作了军官。太清二年(548),元帝派他进奉一万石米到建邺,还没赶到,都城已经陷落,于是就把米沉在江心,轻舟而回荆州。后来逐渐升任岳陽内史,凭军功封建宁县侯。侯景派他的部将宋子仙占据郢州,王琳攻克郢州,擒获子仙。又跟随王僧辩破侯景。后来官拜湘州刺史。
王琳果敢强劲超越常人,又能折节下士,所得到的赏赐不据为己有。他部下万把人,多是江淮一带盗贼。平定侯景的功劳,他和杜龛都当推第一。他仗恃有功在建邺横行暴虐,王僧辩禁止不住,怕他作乱,奏请杀了他。王琳也疑心招祸,令他的长史陆纳带领他的军队到湘州,他自己不带武装到江陵见元帝谢罪并说明情况。临行前向陆纳等人说:“我要是回不来,你们怎么办?”众人都回答说:“愿和你同死。”挥泪而别。到了江陵,元帝把他交给司法官吏处置,而派遣廷尉卿黄罗汉、太舟卿张载到王琳军中宣布处置王琳命令。陆纳等人和兵士们对使者大哭,不肯接受这命令。于是扣押黄罗汉,杀了张载。张载性情刻薄,被元帝信任,荆州人恨他如仇人,所以陆纳等人顺应大家的心意,抽出他的肠子系在马腿上,让马围着他转,把他肠子抽光气绝而死,又把他的肉一块块儿割下来,用尽五刑而斩首。
元帝派王僧辩讨伐陆纳,陆纳等人败逃长沙。当时湘州没有平定,武陵王萧纪进兵的气势又很盛,江陵上下惶恐不安,人人都另有打算。陆纳上书申述王琳无罪,请求恢复他原来的职位,自己甘愿作奴婢。在这种形势下,元帝把王琳用铁链锁起来押送前线交给王僧辩。当时陆纳正出兵交战,碰上王琳押到,僧辩把王琳送到楼车顶上让陆纳看。陆纳等人都扔下兵器下拜,全军痛哭,说:“请求放王郎入城我们就出城投降。”于是把王琳放进城内,陆纳等人便投降了。湘州平定,恢复了王琳以前的职位,让他去抗击武陵王萧纪。平定萧纪后,委任他为衡州刺史。
元帝生性愛猜忌,因为王琳的部众势大,他又能得军心,所以把他派到岭南去,又任命他为都督、广州刺史。他的朋友主书李膺,是元帝所信用的人,王琳对他说:“我承蒙提拔,常想尽力效命以报国恩。如今天下尚不太平,把我调到岭南,如果万一国家有急难,怎能使我效力呢。我想皇上不过是怀疑我罢了,我的欲望有限,难道还能和他争作皇帝吗?为什么不让我作雍州刺史,使我坐镇武宁。我自然会让兵士从事耕种,也能作为国家的屏障,如果有紧急情况也可让朝廷得知,强似远放岭南,相距万里,一旦国家有变故,该怎么办!我不愿长期待在岭南,正是出于为国家考虑罢了。”李膺赞同他的话却不敢替他上奏,因此王琳还是率领他的部众镇守岭南去了。
元帝被西魏围攻进逼,于是征召王琳来救援,委任他为湘州刺史。王琳军队驻在长沙时,已听说西魏攻下了江陵,立梁王萧鮞为帝,于是为元帝举哀,三军戴孝。派遣别将侯平率领水军攻萧鮞的梁朝,王琳屯兵长沙,向四方传送檄文,制定进攻的计划。当时长沙的藩王萧韶和镇守长江上游诸将推举王琳为盟主。侯平虽然不能攻过江去,却屡次打败梁军。又因为王琳鞭长莫及,便翻脸不受他的指挥,王琳派兵讨伐他,不能胜。加上长期作战,军队劳累不堪而不能有所进取,于是就派使者到北齐奉表称臣,并献驯象;又派使者到西魏表示归附,要求归还他的老婆孩子;同时也到梁朝称臣。
陈武帝杀了王僧辩以后,拥立梁敬帝,以侍中、司空的官位征召王琳。王琳不从命,大量修造船舰,为攻击陈武帝作准备。王琳的部将张平宅乘坐的一条战舰,每到要打胜仗时,就发出野猪一样的叫声,因此王琳的上千条战舰,都以野猪命名。陈武帝派大将侯安都、周文育讨伐王琳,代梁自立为帝。安都叹息道:“我们怕是要打败仗了,已经师出无名了。”迎战王琳军于沌口。王琳乘坐平肩舆,手执钺指挥作战,擒获安都、文育,其余的人也都一个不漏。只有周铁武一人因背恩被杀。把安都、文育捆起来,放在王琳所乘的舰船上,派一名太监看守他们。王琳把湘州的军事指挥机关迁到郢城,率十万大军,在白水浦练兵。王琳巡视了部队说:“可以作为勤王之师了,温太真又算得了什么呢!”南江的首领熊昙朗、周迪怀有二心,王琳派李孝钦、樊猛和余孝倾去讨伐。三人吃了败仗,都被周迪抓获。安都、文育等人也都逃回建邺。
当时,西魏攻下江陵时,永嘉王萧庄年方七岁,逃避在别人家里。后来王琳把他接到湘中,护送他东下。等到敬帝即位,萧庄到齐国为人质,王琳请求迎萧庄回国为梁主。齐文宣帝派兵护送萧庄回去,并派兼中书令李..马余带诏书拜王琳为梁丞相、都督中外诸军、录尚书事。又派中书舍人辛悫、游诠之等带上玉玺文书到江南表彰他们的功劳,自王琳以下都有赏赐。王琳于是派遣他哥哥的儿子王叔宝率他势力范围内十州刺史的子弟到北齐都城邺城为质,并拥立萧庄在郢州篡梁为帝。萧庄委任王琳为侍中、使持节、大将军、中书监,改封为安成郡公,其他官职都承继以前梁朝的任命。
等陈文帝即位,王琳辅佐萧庄驻军濡须口。北齐派遣扬州道行台慕容俨率兵到长江边,来声援王琳。陈朝派遣安州刺史吴明彻从江中溯流而上,要偷袭盆城。王琳派巴陵太守任忠大败吴明彻,明彻只身脱逃。王琳军队趁势东下,陈派太尉侯王真、司空侯安都等抵御他。侯王真等人因为王琳军气势正盛,便引军入芜湖避其锋芒。当时西南风很急,王琳认为得了天助,打算直取扬州,侯王真等慢慢从芜湖出来跟在他后面。等到交战时,西南风反被侯王真利用,王琳兵点燃火把往侯王真的船上扔,反而都烧光了自己的船。王琳战舰大乱,兵士跳水而死的有十之二三。其余的都弃船上岸,被陈军几乎杀光。
当初,王琳命左长史袁泌、御史中丞刘仲威掌军事保卫萧庄,等他兵败,袁泌就投降了陈朝。仲威带着萧庄投奔到历陽,又把他送到寿陽,王琳不久与萧庄一同入齐。齐孝昭帝派王琳到合肥,纠集旧部,再图进取。王琳于是修理战船,分派人去招募淮南民众,这些人都愿意和他同心协力。陈合州刺史裴景晖,是王琳的哥哥王珉的女婿,请求用自己私人下属为齐军作内应,齐孝昭帝委派王琳和行台左丞卢潜率兵前去接应。王琳迟疑不决,景晖怕事情泄漏,就投奔了齐国。齐孝昭帝赐王琳印封文书让他镇守寿陽,准许他部下将帅还都跟从他,任王琳为骠骑大将军、开府仪同三司、扬州刺史,封他为会稽郡公。又增发他军饷,还赐给他一班铙吹乐器。王琳水陆军严阵以待,准备待机而动。这时陈朝与齐结好,所以齐使王琳以后再作打算。
王琳在寿陽,与行台尚书卢潜不和,屡次产生矛盾,被召还邺城。齐武成帝置而不问,任命他为沧州刺史。后来又任他为特进、侍中。王琳所住房子的屋脊无故破裂剥落,出来几升红色的蛆,落地后变成血,并蠕动。有龙从他门外的池中跃出,生出云雾,白昼昏暗。这时陈将吴明彻攻打北齐,齐帝派领军将军尉破胡等出兵救援秦州,并令王琳等参与谋划。王琳对自己的亲信说:“如今太岁在东南,岁星居于牛斗的位置,太白已经升高,这些天象都对客军有利,我们将有丧败。”又对破胡说:“吴兵势头很猛,要用长远之计来胜它,要谨慎不要轻易出战。”破胡不听。与陈军战,大败。王琳单骑突围,幸免逃脱。逃回到彭城,齐国令他就地到寿陽去,并准许他招募军队。又晋封他为巴陵郡王。陈将吴明彻进兵围寿陽,堵肥水灌城。而齐将皮景和等屯兵在淮西,居然不去救援。明彻昼夜攻打,城内水气侵袭,人人浑身肿胀,死者和重病人互相枕藉。从七月攻城到十月,城陷王琳被抓获,百姓都哭泣着跟随他不去,吴明彻怕生变乱,把他在城东北二十里杀死,时年四十八。很多人为他痛哭,声如雷震。有一个老头儿带着酒肉前来,号哭以酒洒地祭奠他,把他的血收起来带走了。吴明彻把他的头传送到建康,悬挂在街市上。
王琳的旧日部下梁朝骠骑府仓曹参军朱蠩写信给陈尚书仆射徐陵求王琳的首级。徐陵赞许他的义气,又加上吴明彻也屡次梦见王琳向他讨还自己的头,所以二人都向陈主上书而获准。于是朱蠩就和开府主簿刘韶慧等带着王琳的首级到淮南,暂时埋在八公山旁,受过他好处的故旧来参加葬礼的有几千人。朱蠩等人从小道偷偷跑到北齐,与北齐商议把他的首级接过来。不久有扬州人茅智胜等五人秘密护送他的灵柩到邺城。北齐追赠他统领十五州诸军事、扬州刺史、侍中、特进、开府、录尚书事,谥为忠武王,用鍂车京车给他送葬。
王琳体态容貌闲静文雅,站起来头发能垂到地下,喜怒不形于色。虽然没什么学问,但聪敏强记,他军府中佐史上千人,他都记得他们的姓名。他不滥用刑罚,轻财爱士,在将士中很得人心。他年轻时就为将帅,屡经丧乱,常怀有忠义气节,虽本来的意图没有达到,齐人却也因此而看重他,对待他很优厚。等他兵败被陈军抓获,吴明彻本想保全他,而他部下将领多是王琳的旧将,争相来表示问候,并送给他财物用品,明彻因此对他畏忌,所以遇难。当时的山野百姓,不管是认识还是不认识他的,没有不为他虚欠欷下泪的。从他的诚信感人来看,即使是循循善诱的李广,恐怕也不过如此。