怛罗斯之战唐军为何失败?天宝十年四月(751)高仙芝率军从安西出发,在翻过葱岭、越过沙漠、经过了三个月的长途跋涉之后,高仙芝在七月份到达了阿拉伯人控制下的怛罗斯,并且开始围攻怛罗斯城(今哈萨克斯坦的江布尔城附近)。事后的许多历史研究者和军事家对此感到困惑,高仙芝的数万中国军队是如何在面临高原缺氧、且几乎没有补给可能的情况下翻越帕米尔高原(时间长达2个多月)?而这样一支理应疲惫不堪的军团还能在达到目的地后与拥有地利人和、数量数倍于己的阿拉伯军队作战,这本身已经是战争史上的奇迹了。
由于阿拉伯人早就在准备对安西四镇的攻击,在接到高仙芝进攻的消息之后立即组织了十余万大军赶往怛罗斯城,双方在怛罗斯河两岸、今天的奥李·阿塔附近展开了决战。由于唐军将士极其英勇善战,加上强弓硬弩的技术优势,高仙芝曾经占得上风,阿拉伯联军先后7次进攻均被唐军步、骑兵压制住。阿拉伯军队一味依赖轻骑兵突击的弱点再次暴露无疑:这种战术在训练有素、阵形整齐的敌人面前很难凑效,19年前他们在欧洲的图尔之战中正是败在了坚守阵地的法兰克人手下,停止了对西方的扩张。但这次由于阿拉伯联军兵力实在太多,高仙芝无法取得最后的胜利。
战斗持续了五天,双方仍是不分胜负。然而就在两军相持不下的重要时刻,形势发生突变。在第五天傍晚的激战中,葛逻禄部雇佣兵见势不妙突然叛变(事后有人认为是被阿拉伯人买通的结果),这成为战役的转折点。叛军从背后包围了唐军步兵,断绝了他们与骑兵的联系。唐军突然失去了弓弩手的支援,阵脚顿时大乱。阿拉伯联军趁机出动重骑兵突击唐军阵营的中心,连日征战的唐军在内外夹击下再也支撑不住,终于溃败,高仙芝在夜色掩护下单骑逃脱。
李嗣业、段秀实收拢散兵游勇向安西逃遁,途中恰逢中方联军中的拔汗那兵也溃逃至此,造成兵马车辆拥挤堵塞道路。李嗣业恐阿拉伯追兵将及,不惜对盟军大打出手,挥舞大棒毙杀百余名同属大唐联军的拔汗那军士,才杀开一条血路,残余唐军得以通过。此前李嗣业还曾劝高仙芝弃兵逃跑,被段秀实斥责为“惮敌而奔,非勇也;免己陷众,非仁也”。在收拢残兵之后,骁勇的高仙芝并不甘心,依然想进行一次反击,在李嗣业等的劝说之下终于放弃。最后高仙芝只得引残兵逃至安西。
此役唐军损失惨重,两万人的安西精锐部队几乎全军覆没,阵亡和被俘各自近半,只有千余人得以身还。但唐军也重创了阿拉伯部队,杀敌7万余人。慑于唐军所表现出的惊人战斗力,阿拉伯人并没有乘胜追击,只是巩固了他们在中亚的霸权而已。而中国方面由于几年后爆发安史之乱,国力大损,也只能放弃在中亚与阿拉伯的争夺。与此同时,吐蕃的崛起成功的阻挡了阿拉伯人的东进,避免了唐朝西部疆土的进一步失守。