仪凤三年(公元678年)正月,在唐高宗命令下,李敬玄接替了刘仁轨出镇河湟地区。但是李敬玄却没有将帅之才、非将帅才。唐军张虔勖在龙支与吐蕃交战两次,都获得了胜利,斩获的吐蕃军首级极多。仪凤三年(公元678年)七月,唐军张虔勖胜利的消息传到唐高宗朝廷。
仪凤三年(公元678年)九月,洮河道行军大总管李敬玄率领刘审礼、王孝杰、李谨行、契苾明、韦待价、王杲、曹怀舜、黑齿常之、娄师德等将领以及18万唐军攻打吐蕃。从这份唐军将领名单上看,仪凤三年(公元678年)的唐军阵容实在普通,黑齿常之当时地位尚低,其他将领中,李谨行勉强算是沙场宿将,其余的都很普通。刘审礼率领先锋唐军1万人到达青海湖以南的大非川,与论钦陵率领的吐蕃军发生交战,而李敬玄率领的十几万万唐军的主力没有按期到达。(根据唐军征讨百济和高句丽时的编制情况,唐军每道兵力约为1万人,而刘审礼当时担任唐军先锋部队的行军总管,其所统兵力也是此数,约1万人。)李敬玄既没有将帅之才,又懦怯,按兵不动,不去救援刘审礼。刘审礼战没,李敬玄想率唐军撤退,但跋地设率领的另一支吐蕃军占据高岗阻挡唐军,唐军暂时停止在承风岭。黑齿常之在夜里率领敢死之士500人袭击吐蕃军营,吐蕃军溃乱,其将领跋地设逃走。李敬玄率领十几万唐军的主力返回了鄯州。
唐军李谨行所部在青海击破数万吐蕃军。唐军契苾明所部也击败了一部分吐蕃军。娄师德奉唐高宗的命令收集逃散的将士,军队又振作起来。唐高宗又命令娄师德出使吐蕃。娄师德与吐蕃将领论赞婆会于赤岭(今青海日月山)。娄师德宣扬唐朝威信,陈述利害,使吐蕃既敬畏又心悦诚服。娄师德被改任为殿中侍御史,河源军司马,兼管屯田事务。
吐蕃论钦陵在评价自己的所有胜利时说“唐朝把四周的蛮戎夷狄都兼并了,即使是在海外地边的,也没有不被消灭的。吐蕃之所以能够独自存在,是因为兄弟(论钦陵论赞婆)小心,得以保全。”青海之战保住了吐蕃的独立。
在此战中,黑齿常之在唐军中崭露头角。在此后的唐与吐蕃的交战中,黑齿常之多次取胜。永隆元年(680年),吐蕃军进攻河源(青海东北部),黑齿常之击退吐蕃军。吐蕃论赞婆与素和贵率领3万吐蕃军驻扎在良非川,黑齿常之率领三千精锐骑兵夜袭其营,斩首两千级,缴获羊马数万,论赞婆与素和贵单骑逃走。黑齿常之被提拔为河源军经略大使。黑齿常之认为河源地处要冲,打算增兵戍守,但运输道路遥远而且艰险,于是增设烽火台戍守点七十余处,开屯田五千余顷,每年收获粮食五百余万石,从此战争和防守都有足够的粮食贮备。永隆二年(681年),吐蕃论赞婆经营青海,黑齿常之率骑兵击破吐蕃军,烧毁吐蕃军的粮草储备,缴获大量羊、马、铠甲。黑齿常之在边境七年的时间,吐蕃非常害怕他。
因李敬玄初怯懦畏战,后又消极防守,被动挨打,幸有勇将猛士背水一战,夜袭蕃军,方化险为夷。而蕃军以优势兵力围唐军于死地,疏于防备,未能大获全胜。