没有作战经验,所以刘仁轨治军非常严明。刘仁轨率唐军转战百济,所向无敌。百济将军道琛率百济军在熊津江口(即今韩国锦江)立两道栅栏,抗拒唐军。
刘仁轨率部与新罗兵四面夹击,大败百济军,士卒争入栅内,由于便桥狭窄,落水及被唐军所歼达万余人。道琛连失两栅,遂解除对唐将刘仁愿的包围,退守任存城(在百济西部任存山)。刘仁轨见唐军少,就和刘仁愿合兵一股,养精蓄锐。
而苏定方带十万大军攻击高句丽都城平壤,由于久战在外,时值寒冬,各部将士无心再战,就连苏定方都开始动摇,最后苏定方带十万大军于二月撤兵归国。
唐高宗给刘仁轨诏书,让他率军归国,而且刘仁轨唐军将士也皆欲西归。刘仁轨客观、细致分析了敌我双方的形势,决定坚守百济,伺机出击。并说服了其他唐朝将军,一起留在百济。
百济各军汇聚,包围了刘仁轨,他们认为唐军孤城无援,即将撤退,从此未加防备。刘仁轨、刘仁愿知百济防卫松弛,遂七月趁其松懈,率部突袭,相继攻克支罗城(今韩国怀德)及尹城、大山、沙井等栅,歼敌及俘获甚众,分兵守之。
百济将军率军退守真岘城(今韩国镇岑县),凭借该城临江高险,又当