驻守剑门的宋将上官正、宿翰由于抵抗义军,保住这座天险关隘有功,受到了朝廷加官进爵的奖赏。王继恩的宋军主力由小剑门经过青强岭入川,同上官正、宿翰那部分宋军会合后,仗着兵力雄厚,向剑州研口砦(寨)一带杨广指挥的义军发起了凶猛的进攻。由于兵力悬殊,义军被迫步步后撤,形势十分危急。
大蜀王李顺根据这样的紧急形势,命令相里贵立即从梓州撤军,挥师前往绵州,接应由剑州后撤的杨广,抗击王继恩部宋军主力。

相里贵轻轻叹了口气,感到一阵痛心。“近二十万大军,攻打了将近八十天,竟然没有攻下梓州,真是贻误了大局啊!”他暗暗责备着自己。
早在二月上旬,相里贵就奉李顺的命令,率军二十万,包围了梓州。开始,相里贵设了个诱兵计:派几百名不穿铠甲的老弱士兵,列队在北门前叫骂,进行挑战,而把义军重兵埋伏在后面,想引诱宋军出城,然后义军重兵一阵掩杀,争取全歼宋军,并乘势攻占梓州城。义军的手下败将、宋将声斌在城楼上看到城下的情景,企图开北门出击。可是,狡猾的梓州知州张雍识破了义军的计策,制止了卢斌,坚持固守,拒不开门应战。

几天以后,张雍见义军斗志稍懈,就陆续派遣小股宋军,出城进行骚扰,两军进行了一些小规模的战斗。每当宋军稍为不利时,张雍马上下令退兵,固守城池。三月上旬,李顺飞骑传令,要相里贵“火速攻下梓州,然后挥兵剑州”,于是,相里贵对梓州发起了一系列的强攻。接连几十天,义军用机石、连号、中车、云梯等武器,日日夜夜奋勇进攻。宋军用储备的大量机石、火箭,顽强反击。梓州城外,有一座牛头山,地势较高。义军在山上设了了望哨,用来观察城!里的情况。狡诈的张雍故意在东门里调动宋军,作出将开门出击的假象,引诱义军在东门外埋伏重兵;他却突然派出一批宋军“敢死队”,用绳索吊下城墙,放火烧掉了义军攻城的大批器械。