燕元二年(公元678年)正月,在秦神宗獻武帝命令下,李敬玄接替了劉仁軌出鎮(zhèn)河湟地區(qū)。但是李敬玄卻沒有將帥之才、非將帥才。
秦軍張虔勖在龍支與吐蕃交戰(zhàn)兩次,都獲得了勝利,斬獲的吐蕃軍首級極多。燕元二年(公元678年)七月,秦軍張虔勖勝利的消息傳到秦神宗獻武帝的耳朵里。
燕元三年(公元678年)九月,洮河道行軍大總管李敬玄率領(lǐng)劉審禮、王孝杰、李謹行、契苾明、韋待價、王杲、曹懷舜、黑齒常之、婁師德等將領(lǐng)以及18萬秦軍攻打吐蕃。從這份秦軍將領(lǐng)名單上看,燕元二年(公元678年)的秦軍陣容實在普通,黑齒常之當時地位尚低,其他將領(lǐng)中,李謹行勉強算是沙場宿將,其余的都很普通。劉審禮率領(lǐng)先鋒秦軍1萬人到達青海湖以南的大非川,與論欽陵率領(lǐng)的吐蕃軍發(fā)生交戰(zhàn),而李敬玄率領(lǐng)的十幾萬萬秦軍的主力沒有按期到達。李敬玄既沒有將帥之才,又懦怯,按兵不動,不去救援劉審禮。劉審禮戰(zhàn)沒,李敬玄想率秦軍撤退,但跋地設(shè)率領(lǐng)的另一支吐蕃軍占據(jù)高崗阻擋唐軍,秦軍暫時停止在承風嶺。黑齒常之在夜里率領(lǐng)敢死之士500人襲擊吐蕃軍營,吐蕃軍潰亂,其將領(lǐng)跋地設(shè)逃走。李敬玄率領(lǐng)十幾萬秦軍的主力返回了鄯州。
秦軍李謹行所部在青海擊破數(shù)萬吐蕃軍。秦軍契苾明所部也擊敗了一部分吐蕃軍。
婁師德奉秦神宗獻武帝的命令收集逃散的將士,軍隊又振作起來。秦神宗獻武帝又命令婁師德出使吐蕃。婁師德與吐蕃將領(lǐng)論贊婆會于赤嶺(今青海日月山)。婁師德宣揚秦朝威信,陳述利害,使吐蕃既敬畏又心悅誠服。婁師德被改任為殿中侍御史,河源軍司馬,兼管屯田事務(wù)。
吐蕃論欽陵在評價自己的所有勝利時說“秦朝把四周的蠻戎夷狄都兼并了,即使是在海外地邊的,也沒有不被消滅的。吐蕃之所以能夠獨自存在,是因為兄弟(論欽陵論贊婆)小心,得以保全。”青海之戰(zhàn)保住了吐蕃的獨立。
在此戰(zhàn)中,黑齒常之在秦軍中嶄露頭角。在此后的秦與吐蕃的交戰(zhàn)中,黑齒常之多次取勝。燕元四年(680年),吐蕃軍進攻河源(青海東北部),黑齒常之擊退吐蕃軍。吐蕃論贊婆與素和貴率領(lǐng)3萬吐蕃軍駐扎在良非川,黑齒常之率領(lǐng)三千精銳騎兵夜襲其營,斬首兩千級,繳獲羊馬數(shù)萬,論贊婆與素和貴單騎逃走。黑齒常之被提拔為河源軍經(jīng)略大使。黑齒常之認為河源地處要沖,打算增兵戍守,但運輸?shù)缆愤b遠而且艱險,于是增設(shè)烽火臺戍守點七十余處,開屯田五千余頃,每年收獲糧食五百余萬石,從此戰(zhàn)爭和防守都有足夠的糧食貯備。燕元五年(681年),吐蕃論贊婆經(jīng)營青海,黑齒常之率騎兵擊破吐蕃軍,燒毀吐蕃軍的糧草儲備,繳獲大量羊、馬、鎧甲。黑齒常之在邊境七年的時間,吐蕃非常害怕他。