王琳反陈霸先之战发生在梁太平二年(陈永定元年,557年)五月至陈天嘉元年(560年)二月期间。这场战争起因于王琳对于
陈霸先立
萧方智为帝的不满。
陈霸先立萧方智为帝后,王琳不服,于太平二年五月,大治船舰,准备进攻陈霸先。同年六月,陈霸先派遣
周文育、
侯安都等将领率领水军2万,在武昌(今属湖北武汉)集结,准备征讨王琳。
十月,侯安都抵达武昌,王琳部将
樊猛放弃城市逃走。周文育军队从
豫章(今江西南昌)到达武昌,与侯安都会师。此时,他们得知陈霸先已经废除萧方智,自立为帝。侯安都认为这次行动没有正当理由,加上两位将领并肩而行,互不隶属,导致部下之间发生冲突,最终未能成功包围郢州(今湖北武汉)。王琳军队推进至弇口(今湖北武汉西南),侯安都于是撤回部队,转移到
沌口镇(今武昌),只留下沈泰防守汉曲(即汉口)。
侯安都遇到强风无法前进,与王琳军队对峙多日后交战,侯安都军队惨败。
周文育、侯安都被俘虏,只有沈泰得以逃脱。王琳军队随后进驻郢州,并派出部将
樊猛占领了
江州(今江西九江)。
永定二年(558年)正月,王琳率领十万大军到达
湓城(治所江州,今江西九江),并在白水浦(九江西)驻扎。北江州刺史
鲁悉达占据地盘自保,控制着中流地区。
王琳想要向东进军,但由于鲁悉达的阻拦,他不敢轻举妄动,于是向
北齐请求援助,并请立梁永嘉王
萧庄返回江南,登基称帝,改元
天启。萧庄任命
王琳为梁侍中
丞相、
录尚书事。六月,
陈霸先再次派遣侯填、
徐度率领水军攻击王琳,并另外派遣
谢哲前去游说。八月,王琳同意退军
长沙郡(今湖南长沙),陈霸先召集各路军队回到大雷(今
望江县)驻扎。
永定三年十月,王琳得知陈霸先去世的消息,重新率领军队向东进军,并拥护永嘉王萧庄在濡须口(今安徽巢县)出面指挥。北齐
慕容俨带领军队逼近
长江,为其提供支援。十一月,王琳进犯大雷,陈霸先的继任者们联合起来抵抗。安州
刺史吴明彻夜间突袭
湓城,但被王琳部将
任忠击败。王琳趁机率军东下,于天嘉元年二月,到达栅口(在濡须口东)。侯填驻军
芜湖市,双方军队在此对峙了一百多天。东关(即濡须口)河水上涨,王琳调集
合肥市、芜湖等地的水军增援。
侯瑱进军虎槛州(今安徽芜湖西南),王琳则在江西列阵,与陈军隔着州府对峙。第二天,两军展开激战,王琳军队撤退至西岸以保护自己。当晚,遭遇大风暴,王琳军队进入港口修理船只,侯瑱军队也退回芜湖。
北周利用这个机会,派遣
都督荆、襄等五十二州诸军事、荆州
刺史史宁带领数万名士兵袭击郢州。王琳担心军心动摇,于是率领水军继续东进。北齐水军刘伯球带来一万名士兵协助战斗,慕容子会又率领两千名骑兵驻扎在
芜湖市西岸,支持
王琳。当时西南风强劲,王琳认为这是上天的帮助,于是直接攻打建康(今江苏南京)。
侯瑱则率领军队从芜湖出发,追击王琳。王琳使用火攻战术,但由于风向改变,反而烧毁了自己的船只。
侯瑱使用拍舰撞击王琳的舰队,并且用蒙冲小船猛烈冲击王琳的船只,同时熔化铁器撒在船上,导致王琳军队遭受重创,几乎全军覆没。王琳被迫退至
湓城,试图重整旗鼓,但已经没有人愿意跟随他。无奈之下,他带着家人投奔了北齐。