同年二月十三,听说镇戎军常鼎等人正与西夏军在张义堡南开战,韩琦下令向南推进至两军交战处。西夏军损兵折将,但不断增援。等任福赶到的时候,西夏军又使用之前的小伎俩,佯装败退,诱使宋军追击。然而任福不知道这是李元昊的计策,于是放下辎重,轻装追击西夏军队。黄昏的时候,宋军追到了好水川,由于长途跋涉,粮草供应不足,导致人困马乏。而此时的朱观、武英才刚到达笼洛川,于是与任福相约在第二天会兵与川口,准备合击西夏军。
二月十四,任福、桑怿引军沿着好水川继续西行,到达羊牧隆城东五里处,发现道旁放置着数个银泥盒。也没加思索,就下令把将盒打开,没想到里面顿时飞出百余只带哨家鸽,为西夏军发出了信号。宋军还没有拉开阵形,便遭到了西夏骑兵的冲击。一阵激战之后,宋军开始有点混乱,于是企图占据险要地势来抵抗西夏军队。但这时候,在西夏军队中突然竖起了两丈高的旗帜,左右埋伏的西夏军居高临下,开始夹击宋军。宋军死伤巨大,任福、桑怿等将士在经历过一场激战后而死。同样是这一天,朱观、武英已经到达姚家川,他们也陷入了西夏军的重重包围之中。激战多时,宋军溃败下来,将士死伤无数。这次战役中,宋军几乎全军覆灭,仅有朱观的千余人逃脱。西夏军获胜以后,本来打算继续南下,但是得到消息称宋环庆、秦凤路派兵来援,于是下令暂时退兵,这就是“好水川之战”。