元初六年(119),敦煌太守曹宗派长史索班率领上千人住在伊吾。这时候,匈奴已经大举侵入西域,迫使西域诸国臣服。而车师前部王和鄯善王不想被匈奴控制,逃亡到了索班这里求救。几个月后,匈奴杀至,索班拼死抵抗,不敌被杀。车师前部王逃走,并最终降了匈奴。而鄯善王则逃到敦煌,向敦煌太守曹宗求救。情况紧急,曹宗立即率领五千兵马攻打匈奴,夺回了伊吾。
这时候,朝廷对于西域有两种态度,一部分人觉得应该放弃西域,他们当中大多数觉得经营西域有些亏本,不如不要。而以班勇为首的部分人觉得西域必须要掌控,这样才能确保西边边境的安定。
班勇一直就知道西域的重要性,他将西域形容为匈奴的内脏,汉朝占了就相当于挖掉了匈奴的内脏,而匈奴占了就可以驱使西域威胁汉朝边境的安全。所以,西域只有掌控在汉朝手里才安心,才能确保汉朝西方的安定。
班勇的建议,应该恢复敦煌郡驻军的传统,重新设置护西域的副校尉,长期驻守敦煌。同时,还应该派遣西域长史长期住在楼兰,西边挡住焉耆、龟兹的来路,南边安定鄯善国、于阗国的心,北面正好抵御匈奴。
然人,很多人提出疑问,认为驻军西域消耗巨大,非常亏本。再加上西域总是向汉朝索要钱粮,对于朝廷来说是个负担。
但班勇反驳道,国内设置州牧也属于是浪费粮食,但这样却是为了防备盗贼作乱。汉朝驻军西域,就和国内的州牧一样,都是为了让汉朝边境安定。虽然此举确实耗费钱粮,但这是必要的支出,不能心疼。
讨论来讨论去,最终皇帝还是听从了班超的建议,恢复敦煌郡营兵,设西域副校尉驻守敦煌。
然而,匈奴野心不死,再次联合车师六部,再次进犯边地,河西受了大害。
为了对付匈奴,朝廷派班勇作西域长史,率军驻扎在柳中。班勇刚到西域没多久,鄯善国就主动归附。不久之后,在班勇的劝诱之下,龟兹国王白英也率领姑墨、温宿归附汉朝。
龟兹国的归附之后,班勇开始调集西域各国步兵骑兵上万人,直接杀到了车师前部。这一场战斗下来,车师前部和匈奴大败,匈奴伊蠡王逃走。
战事结束后,班勇回到了柳中,一面安排屯田,一面防备匈奴的再次反扑。结果匈奴这次吃了败仗,并没有回来报复。
班勇见匈奴胆怯,就再次调集敦煌、张掖、酒泉六千骑兵和鄯善、疏勒、车师前部兵攻打车师后部,把他们打得大败。最后,班勇抓住了车师后部的王以及匈奴持节使者,将他们押到索班死的地方斩了头,替索班报仇雪耻,并将首级传送到京师。
后来,班勇凭借各种手段,彻底平定了车师六国。紧接着,班勇调集包括车师在内诸国的军队,攻打匈奴呼衍王。匈奴呼衍王不敌,只能灰溜溜逃走,麾下的两万兵马被俘。恰好,单于的堂兄也在俘虏当中,被班勇抓了过去,让车师后部新王杀了他。就这样,车师与匈奴的关系彻底决裂。
匈奴单于得知自己的堂兄被杀,愤怒之下率领大军直奔车师后部而去。班超得知消息后,紧急派遣假司马曹俊快马前往救援。匈奴大军不敌,再次退走,曹俊沿途追杀,匈奴彻底溃败。最终,车师再也没有匈奴的踪迹,城郭回归安定。
这时候,西域只剩下焉耆王元孟没有投降,于是班勇请求发兵攻打焉耆国。当时朝廷派遣敦煌太守张朗和班勇兵分两路进攻,班勇四万人走南道,而张朗率军三千人走北道,约定日期到焉耆会师。
可结果呢?张朗因为此前有罪在身,立功心切,提前赶到并平定了焉耆国。等到班勇到时,战事已经结束,张朗早就带着元孟的儿子到朝廷领赏去了。而班勇因没有如期赶到,被判罪下狱。虽然后来得到赦免,却始终没能得到重用,老死在家中。