張祚聽了很害怕,收拾好東西,隨時準備逃往西域,後來看桓溫撤兵走了,這才鬆了一口氣,想起秦州刺史王擢歸附東晉,並威脅自己,認為王擢一定是背叛了自己,便以牛霸為秦州刺史,率兵去攻王擢。王擢剛和前秦打了敗仗,被前秦趕回秦州,損兵折將,實力大損,所以與牛霸一戰,再次大敗,只好投奔了前秦。
第二年,河州(今甘肅臨夏西南)刺史張瓘打著復立張曜靈的名義起兵。張祚急忙問尉緝、趙長怎麼辦。趙長說:&ldo;既然張瓘揚言要復立張曜靈,那就把張曜靈殺掉,張瓘沒了主子,就無法進兵了。&rdo;張祚於是立即殺張曜靈於東苑,埋於沙坑,對外宣言,張曜靈暴病身亡,諡為哀公。
但張曜靈不過是張瓘進兵的幌子,他死了張瓘還是繼續進兵。敦煌的驃騎將軍宋混、宋澄兄弟也起兵討伐張祚,這回起兵的理由換成了為張曜靈報仇。張祚一看,對方進兵的理由還很充分,自己白擔了殺侄的名聲,只好派遣大將易揣、張玲率騎兵兩萬去迎擊張瓘。張瓘在黃河南岸列陣,等易揣、張玲的兵馬渡過一半的時候突然發起衝擊,易揣、張玲大敗,帶著幾十名士兵逃回姑臧。
張瓘的軍隊和宋混、宋澄的軍隊剛到城下,張祚的部將趙長、張濤便擁立張曜靈之弟張玄靚為新王,士兵全部倒戈。趙長帶兵追捕張祚,張祚逃到萬秋閣,被萬秋閣的廚子徐黑用菜刀砍死。
由於張祚荒淫無道,嚴刑峻法,城中百姓自發地砍下張祚的首級示眾,又將屍體拋於路邊,路人投石、踐踏,以洩心頭之恨。張祚雖博學多才,勇武善戰,且有政事之才,卻無治國安邦之德操。自立後荒淫無道,殘殺宗室,暴虐百姓,遭萬民痛恨,其下場罪有應得。張祚篡立三年而亡。
張瓘和宋混、宋澄入城,立張曜靈的弟弟張玄靚為涼王,自為使持節、都督中外諸軍事、尚書令、涼州牧、張掖郡公,以宋混為尚書僕射,繼續使用東晉的年號,並重新向東晉稱臣。這時候張玄靚年僅七歲,涼州大政遂由張瓘掌握。
前涼這麼一折騰,國力大損。苻生便打算去攻涼國。趙韶、董榮認為國家剛和桓溫在國內打了一次大仗,又遇旱災蝗災,加上苻生治國無方,國力現在很弱,根本支撐不了這麼一場大的戰爭,所以勸苻生不要輕易動兵。
苻生對這兩個寵臣還是比較信任的,但還是不甘心,說道:&ldo;坐失良機,豈不可惜?&rdo;
董榮道:&ldo;不如這麼辦吧。派個能說的使臣,去說降張瓘。說成了當然好,說不成也沒有損耗國力。&rdo;
苻生便派徵東大將軍、晉王苻柳參軍閻負、梁殊出使涼州。
兩個人見了張瓘,說明來意。張瓘自稱晉臣,絕不事二主。閻負道:&ldo;你離秦國近,而離晉國遠。何苦要捨近求遠,去向晉朝稱臣呢?&rdo;
張瓘道:&ldo;我們涼州向晉朝盡忠,到現在已經六世了。我們重的是一個義字,一個忠字。所以只能向晉稱臣。&rdo;
梁殊道:&ldo;那以前涼國的先王也曾向趙國稱臣,你怎麼解釋?&rdo;
張瓘道:&ldo;趙國是個騙子,所以我們也騙騙他們。&rdo;
閻負、梁殊見軟的不行,就來硬的,威脅道:&ldo;我們秦國很厲害啊,比當年的趙國要厲害多了。你不投降可是要考慮後果。&rdo;
張瓘笑道:&ldo;秦國既然這麼厲害,為什麼不先取江南,再攻燕國,那時候不勞你們再來,我會主動向你們投降。&rdo;
梁殊道:&ldo;我們皇上認為,打江南必須用兵,而取河右則可以用德,所以才派我們來此。如果你不稱臣的話,江南等過幾年再打,不過打你這裡卻快得很。&rdo;