公元902年,從六月到九月,朱溫汴軍二次圍困鳳翔已經三月有餘。這時由於天經常下雨,汴軍營中有不少兵士病倒,朱溫就想撤兵回河中休整。他召集眾將商議,親從指揮使高季昌和左開道指揮使劉知俊不同意撤兵。他們對朱溫說:“天下英雄,看我們討逆救駕已經一年了,現在李茂貞已經被我們圍困,為什麼這時我們卻退兵呢?”朱溫感覺李茂貞堅守不出,戰爭曠日持久,難決勝負。高季昌獻計說:“我們不如設計將李茂貞騙出城來,與之決戰。”有一個騎士馬景自告奮勇要到敵營行誘騙之計,高季昌說:“此行必死無疑,請大王一定要照顧他的妻子兒子。”朱溫還在猶豫,不忍教馬景去送死,而馬景卻堅決要去。正好第二天朱溫的侄子朱友倫(朱存子)要到鳳翔軍中來,需要派些人去迎接他,馬景建議他可以騎一匹駿馬與眾人一同出寨,然後縱馬出逃去假降李茂貞。
朱溫同意了馬景的計劃,命令他的軍隊做好了戰鬥準備。馬景第二天與眾騎一起出營,突然縱馬西奔,逃到鳳翔城中。馬景見到李茂貞就對他說:“朱溫營中由於大雨,軍士多病,已經退兵撤走。現在隻有萬名傷病者守營,今晚也要撤走,請立刻起兵打擊他們,可獲大勝。”李茂貞原先也聽到朱溫要撤軍的消息,因此就聽信了馬景的話,帶領鳳翔城內軍隊出城來攻打朱溫的大營。這時朱溫已命令汴軍飽餐戰飯,埋伏起來靜等李茂貞上鉤。李茂貞帶隊衝進汴軍營中,隻見營中空無一人,大呼上當,急令全軍撤退。朱溫這時親自敲起戰鼓,汴軍百營盡出,刀槍並舉,殺聲震天,直殺得鳳翔軍亡魂喪膽。汴軍還有幾百名士兵在鳳翔城門口攔截退兵,幾乎把出城的鳳翔軍砍殺殆盡。李茂貞好不容易逃進城,自知不是朱溫對手,開始與部下議論與汴軍講和,送出昭宗,奉車駕還京。獻計大敗李茂貞的高季昌是安徽硤石人,原為朱溫幹兒子朱友恭家童,由於他聰明伶俐,公於計謀被朱溫要到身邊充當偏將。後來他改名高季興,後唐滅梁後投靠了後唐莊宗李存勖,被封為南平王。
仗打了幾個月,鳳翔城內糧草用盡,李茂貞隻好派兵出外向周邊地區籌糧。朱溫命人在城外挖掘曲折蜿蜒的壕溝,設置狗窩,架設鈴鐺架以隔絕城內城外的聯係。
十月,由於鳳翔城長期被圍,城中人心惶惶,不少士兵逃出城外投降了汴軍。連李茂貞的幹兒子李彥詢都帶領三團士兵投降了朱溫。不久他的另一個幹兒子李彥韜也投降了汴軍。朱溫命這些人穿上紫衣到城下喊話,招呼更多的兵士投降,又有不少鳳翔兵夜裏槌城而下投降了汴軍。
十月初八,朱溫派幕僚司馬鄴進城向昭宗皇帝上表,十二日又派使者給皇帝進獻熊脂等食物及錦緞衣物。昭宗李曄都要先把這些東西交給李茂貞驗看,原來飛揚跋扈的李茂貞這時也不敢再開啟驗看這些東西了。十四日,朱溫又派出使者與李茂貞商議講和的事,汴軍對出城打柴草的百姓也開始放行了。十五日朱溫上表昭宗說明他要修理宮闕和迎接昭宗回京。十七日,昭宗派國子監司業韓昌祚,內使王延繢出城賜詔書給朱溫對他的行動表示嘉許。