永嘉六年(312)七月,刘琨准备出兵进攻平阳。不料令狐盛之子令狐泥叛降刘聪,具言并州虚实,招引汉将刘粲、刘曜领大军入寇。刘琨以部将郝诜、张乔拒敌,他亲自到常山、中山合兵。郝、张不幸战死,刘粲乘虚袭击晋阳,太原太守高乔、并州别驾郝聿以晋阳降敌,刘琨父母都遭杀害。刘琨回救不及,退避常山,向拓跋鲜卑求救。十月,猗卢派兵数万为前锋,他亲率二十万大军继后,刘琨收集残部几千人在前充当向导。双方经过激战,刘粲、刘曜败走,损失三千余人。刘琨请求猗卢乘胜进军,猗卢辞以士马疲弊,留下将领箕澹戍守晋阳,送给刘琨马、牛、羊各千余头,车百乘,然后引兵北归。刘琨移驻阳曲,以图东山再起。
这时,石勒在襄国建立了稳固的根据地,冀州郡县壁垒纷纷降附,他的下一个目标就是消灭王浚和刘琨。但是,刘琨对北方形势这一重大变化却不甚了然,且对石勒抱有幻想。他曾经把石勒失散多年的母亲和养子石虎送到襄国,试图劝说石勒投降。王浚则是一个狂妄自大的野心家,他目睹石勒日益强盛,而竟梦想由石勒推戴他当皇帝。面临石勒这个共同敌人,他们不仅没有联合起来,而且越打越凶。刘琨派高阳内史刘希到中山一带征兵,不久聚众三万人,其中多数是幽州所属的代郡、上谷和广宁三郡的民众。王浚不能容忍,派部将胡矩与辽西段部鲜卑一起攻杀刘希,夺回了三郡士众。刘、王之间的关系从而进一步恶化了。
刘琨与王浚之间的纷争,给石勒以可乘之机。建兴二年(314)二月,石勒出兵奔袭王浚,同时遣使向刘琨求和,诈称愿意以讨伐王浚报效朝廷,为自己洗刷罪恶。刘琨大喜,立即传令州郡,说:“我和猗卢正在议论讨伐石勒,石勒自知走投无路,请求攻取幽州以赎罪恶。现在我即将驱兵南下平阳,剿灭平阳的逆类刘聪,降伏尚知回头的石勒,上应天意,下顺民情,翼奉皇家,这乃是我多年耿耿忠心的结果呀!”由于刘琨作壁上观,石勒顺利消灭王浚,攻占幽州。王浚亡后,石勒立即把矛头转向刘琨,刘琨顿觉唇亡齿寒,才知道上了大当。这年三月,刘琨上表晋愍帝说:“勒据襄国,与臣隔山,寇骑朝发,夕及臣城,同恶相求,其徒实繁。自东北八州,勒灭其七,先朝所授,存者唯臣。是以勒朝夕谋虑,以图臣为计,窥伺间隙,寇抄相寻,戎士不得解甲,百姓不得在野。天网虽张,灵泽未及,唯臣孑然与寇为伍。自守则稽聪之诛,进讨则勒袭其后,进退唯谷,首尾狼狈。”实际上,刘琨岂止无力进讨,而是自顾不暇了,建兴三年(315)六月,汉将刘曜寇上党,在襄垣打败刘琨军队,刘曜准备进取刘琨大本营——阳曲,只因刘聪急于攻打长安,刘曜才主动退兵。
不久,刘琨引以为援的拓跋鲜卑部落联盟发生内讧,猗卢被其子六修所杀,六修又被普根所灭,于是诸部大乱,互相攻杀。晋人卫雄、箕澹为将军,颇受部众拥护,他们与在拓跋部为质的刘琨子刘遵鼓动晋人和乌丸三万余家,带着马牛羊十万余头投归并州。刘琨得到这支有生力量,势力才有所恢复。