经过三天行程,杨崇的大军便赶到柔远镇,石万年率五千联军迎了上来,企图趁高昌军是疲惫之师,一战而胜。可是高昌军队的硬弓和巨弩让石万年停住了脚步,尤其是十辆马车上的巨弩,来自转射机的构思,扇形的角度让对手吃尽了苦头;联军本身就是临时组合,一轮进攻损失了七百多人,便立即偃旗息鼓。
第二天的坚守战更是让石万年失魂落魄,按道理杨崇是来收复伊吾郡的,应该比石万年更着急,没想到杨崇立下营寨,硬是一天没出战。石万年断定杨崇是等着后面大批的步兵带着攻城器械上来,只能派出人马挑战,结果被罗士信在军前连续挑落五将,再也没有人敢应战。
杨崇是因为知道,屈突盖为了增援青海战事,把粮食物资都转移到绕海,吐屯设跑的时候又烧了伊吾城和柔远镇的粮仓,石万年大军在一座小城里,物资上的压力不比自己少。双方相持了四天,叶黑龙的粮队和步兵就跟了上来,杜淹搜集出了所有的骆驴骆马,行进的速度自然快了许多。
当天晚上,上千枝火箭射入柔远镇,杨崇设计的火箭并不是伤人,一种是在箭头后部绑附浸满石油的麻布等易燃物,点燃后用弓弩射进城中;城中的房屋大多是木头的,火烧起来就下不去,柔远镇里战马嘶鸣了一夜,在城外可以清楚地看见,火烧到天亮还没熄灭。联军中大部分杂胡不干了,这么多天过去,薄落部落都没有来援,肯定带着大批的俘虏物资逃了。
石万年劝解了一天,终于在黄昏的时候看见东面一支铁勒人的骑兵赶来,大约一千人左右,高昌军营里很快冲出一千骑去拦截;双方在十几里外杀得难分难解,铁勒人点起火堆求援,石万年怕战机稍纵即逝,一边让杂胡两千人去冲击高昌军营寨,一边自己带一千骑去接应铁勒骑兵。
怎料刚刚跑到战场,铁勒人和高昌军就一起冲了过来,石万年连阵营都来不及展开,就被杀得落花流水,逃回城中不过百把人;而攻击高昌郡的两千骑伤亡过半,伤者都无法撤退,最后全部被对方砍死,一天之中石万年就损失了近两千人。
这是凌敬献的计策,趁夜射入火箭扰乱对方军心,索延寿带一千人偷偷出营,绕道柔远镇的东面,再装作铁勒人西来;蕃兵中本身就有铁勒人,索延寿和薄落部交过手,所有的队形和号角、火堆的联络方式一丝不差,终于让石万年在急躁中上当。杨崇奖赏众人的同时,下令再射一夜火箭,两千支。
城内再次陷入火海,石万年拗不过众人,只能同意弃城而逃,两千多人逃出东门,被高昌郡的斥候发现,拓跋安虎立即率领两千骑去追杀。联军出了城就溃不成军,拓跋安虎咬住石万年人数最多的一队,斩首四百而归;杨崇命叶黑龙率步兵留守柔远镇,四千骑兵直扑伊吾城。
令人喜出望外的是,薄落部落确实带着大批的俘虏物资跑了,石万年看到这种形势,不敢多留,逃回纳职、俱密。杨崇下令出榜安民,让吐屯设安抚旧城百姓,自己驻扎进新城,拓跋安虎问是否追击,杨崇摇头说:“派人给薄落部送信,只要他们归降,把老百姓都放回来,就把柔远镇给他们居住;同样派人招降石万年。”
格谦在陆盐池跑了,但是在绕海还有伊吾郡铠曹参军事独孤览和镇主麦仲才率领的一千多隋军,石万年破城的时候,朝廷派来的高官皆死,只有独孤览带着十几骑逃出生天,好在麦仲才手下有五百戍兵,两人立即把所有留在绕海的屯田兵召集起来,发放武器,打退了叛军的几次进攻。
得知杨崇收复了伊吾郡,独孤览便兴冲冲地跑来了,杨崇夸奖了几句,立即叫独孤览负责从绕海运粮食来,并派人去通知屈突盖。六天后,薄落部的使者就到了,确认是杨崇在伊吾郡,立即表示把抢去的人送回来,全族六千多人会陆续下山。白山铁勒的人都怕杨崇,但也知道这个汉人一言九鼎。