这次宋军据险设伏的是镇戎军(北宋正规军)18000余精悍将士,由环庆路副都部署任福统率,桑怿任前锋,行营都监朱观、参军事耿傅、都监王珪、武英随后,按常理,伏击战属防御战,只要击退了夏军的进攻,便不应再贸然推进了。可任福和桑怿贪功,于是轻敌冒进,初获小胜,就昏了头脑,下令大军跟在夏军后面衔枚急追。
按事前部署,西夏士卒一面逃跑,一面故意把随军携带的牛、羊、骆驼抛弃,于是漫山遍野都是走散的牲畜。宋军将士见夏卒溃不成军,于是更加放心,尾随其后紧追不舍。
因行军过速,人困马乏,加上军粮吃尽,宋军将士饿了两天肚子,待2月14日上午行至羊牧隆城附近时,只见前方山坳里有鸽子飞出,众人正在疑惑,参军耿傅突然意识到这是元昊的谍报手段,目的是让伏兵得知宋军行踪。他正要示警,只见山两侧涌出无数夏军,遮天盖地掩杀过来,而那些狼狈不堪的夏军溃卒居然不见了踪影。
任福这才知道中计,两军相逢勇者胜,此时只能以勇克敌,方才有可能会冲出天罗地网,败中求胜。元昊趁宋军立足未稳,命勇猛的横山羌率先冲杀过来,与疲惫的宋军短兵相接。战至午后,宋军不支,阵脚松动。任福下令稍稍后撤,背山而战。没想到元昊在山后也埋下伏兵,待宋军退到山前,山上箭如飞蝗,杀声震天。