回鶻在黠戛斯人的壓迫下,被迫南下唐朝,準備尋求庇護。然而出奇的是,回鶻人卻決定軟飯硬吃。烏介部劫持了南歸的唐王朝太和公主,並以其為人質,帶兵南下,企圖脅迫唐王朝把振武軍控制的一座城市送給回鶻,作為東山再起之地。這一無理要求,唐朝自然不可能統一。
公元842年,盧龍節度使張仲武奉唐武宗密詔討擊回鶻,遣其弟張仲至率兵3萬迎戰,大破回鶻軍,斬首不可勝計,全部收降其7000帳。那頡啜逃遁,後被烏介可汗擒獲斬殺。
初戰獲勝,但回鶻餘部仍有相當的實力。會昌三年正月,烏介可汗兵臨振武,劉沔遣麟州刺史石雄、都知兵馬使王逢率沙陀朱邪赤心三部及契苾、拓跋3000騎兵襲擊回鶻牙帳,劉沔親率大軍押後跟進,唐王朝與回鶻的決戰就此拉開了帷幕。
石雄觀察了地形,採取了地道戰的巧計。他按照測量好的線路,挖鑿了10餘條地道,直通烏介可汗的牙帳。半夜夜深人靜,敵方人困馬乏的時候,唐軍士兵人不知鬼不覺的從地道里殺出,直攻烏介可汗的牙帳。直到唐軍攻到帳下,回鶻兵才發覺被包圍了,驚慌失措的烏介,急忙帶領殘兵敗將騎馬逃跑。
此戰之後,烏介可汗徹底失敗,被迫逃到室韋。846年烏介可汗被殺。此後,南下中原的回鶻人幾乎全部被唐朝俘虜,總計達到30萬。他們被唐朝安置在江淮地區,從此融入了中國的血脈。
就在回鶻敗亡的同時,曾經盛極一時的吐蕃也進入了衰亡期。由於長期的窮兵黷武,吐蕃也開始陷入內亂。由於吐蕃採取了和唐朝類似的節度使制度,因此也出現了同樣的藩鎮割據局面。
於是唐朝趁此機會,向已經淪亡百年的河西、隴右地區發動攻勢。唐朝宣宗大中三年(849),唐朝首先收復了甘肅省東部的泰、原、安樂三州和石門等七關,其後又重新攻占了西川的重鎮的維州,河隴、西川兩大戰場皆告大獲全勝。