劉琨兵微將寡,自顧不暇,又有石勒在一旁虎視眈眈,不能來救。按說勢力強大的猗盧被晉朝封為代王,應該來救宗主國。不過這時候代國正鬧內亂。拓跋猗盧廢長立幼,並把長子拓跋六修的生母廢掉,這引起了拓跋六修的憤恨。這一年三月,六修從自己的封地新平城(今山西山陰北)來平城(今山西大同東北)拜見父王猗盧。猗盧讓六修向皇太子比延下拜。面對這個奪去自己太子位的小弟弟,六修的心中只有委屈和憤怒,他毫不猶豫地拒絕了。猗盧並不勉強他,而是在不久之後讓小兒子比延坐自己步輦出來。六修還以為是父王在步輦內,因而下拜,哪知道從裡邊走出來的卻是自己的小弟弟。六修大怒,不和父王打招呼就離開京城回到自己的封地。猗盧知道六修必為後患,便率軍徵討。但拓跋六修隨父徵戰多年,在軍中頗有威信,自領兵與父親決戰,將父親的軍隊打敗,並俘虜父親。拓跋六修然後做了一件愚蠢的事情,他把父親給殺了。這引起軍心不穩,不久,拓跋六修的叔伯兄弟拓跋普根帶兵打敗拓跋六修並將他殺死,拓跋普根遂成為代國的國王。經此一役,代國的幾股勢力開始分裂,一大批人出奔代國。其中,左將軍衛雄、信義將軍箕澹等趁勢率晉人及烏桓三萬家、馬牛羊十萬頭歸於晉將劉琨。一直沒有緩過勁來的劉琨,這一次兵勢復振。
眼下來救長安的除了西涼五千精騎兵外,還有安定太守焦嵩、新平太守竺恢各帶了兩萬兵馬來救;弘農郡(今河南靈寶東北)郡長宋哲也帶一萬兵馬來援;散騎常侍華輯則召京兆、馮翊、弘農、上洛四郡之三萬大軍駐紮在長安附近。但除了西涼五千精兵進入長安外,其他各路人馬都守在長安之外,不敢迎擊劉聰的大軍,基本上充當了看客的角色。
劉曜猛攻長安,不久攻陷外城。索、麴允等人退守內城。
這時劉琨剛得了代國投來的人馬,正準備南攻平陽,以解長安之圍,但石勒親率大軍來攻劉琨。劉琨率傾城之軍去與石勒交戰。他也只有率傾城之軍了,因為劉琨儘管接收了代國部分人馬,其實舉城之兵也不過三萬。
衛雄建議劉琨不要主動進擊,守住太行天險即可。但劉琨急著擊敗石勒,然後轉攻平陽,緩解長安被圍的壓力,決定與石勒決戰。結果反而是石勒以逸待勞,據險而守。劉琨前鋒箕澹輕敵被打敗,石勒立刻進軍劉琨腹地,佔了陽曲。劉琨被困在晉中腹地,進不能攻,退不能守,正在危急時刻,幽州薊城傳來訊息,幽州刺史劉翰反了石勒,投降了段氏鮮卑。又有樂陵太守邵續反了。
原來遼西段氏鮮卑首領段疾陸眷的弟弟段匹先後到幽州和樂陵,以依附晉室為條件策反了這兩位晉室舊臣。石勒急忙派兵去攻樂陵。段匹派弟弟段文鴦帶兵增援,打退了石勒軍。段匹和邵續遣使去江東,表示願受司馬睿的節度,稱臣於司馬睿。司馬睿憑白得了東北之地,當然很高興,便任命段匹為幽州刺史、左賢王、渤海公,邵續為冀州刺史。段匹知道劉琨正在困難時期,遂派人請劉琨來幽州共事。劉琨帶著人馬向幽州方向逃去。石勒念及劉琨與他有送母之恩,並沒有追擊。段匹十分敬重劉琨,劉琨到薊城之後,段匹親自出城迎接,並與劉琨結為兄弟。
代國鬧內亂,劉琨這邊人馬被石勒所滅,司馬睿和司馬保一東一西也不出兵,長安朝廷基本上只能靠自己了。要說來援長安的這幾路兵馬也還算是精兵強將,為什麼他們坐視不救呢?先說安定太守焦嵩。當時司馬鄴十二歲成皇太子,十四歲登基,此時也只有十七歲。朝廷一直被索、麴允把持著。麴允性情寬厚仁慈,沒有威嚴,不夠果斷,喜愛用官爵討好別人。而且他只知籠絡高階層人士,對下面的部屬卻不理會。這就使將領驕傲任性,士卒怨恨離心。焦嵩一向瞧不起麴允,他陳兵在長安之外,放出話說:&ldo;等麴允走投無路的時候,我再去救他。&rd