宋洛阳(今河南洛阳东)人,字端孺。世衡孙。历知环、秦等州,为侍卫步军马军副都指挥使。靖康初,奉诏率秦凤兵入援京师,未至而金军退,遂守滑州。金兵攻三镇,以河北制置副使驰援中山、河间,击金将斡离不出境。又由井陉出师,屯兵真定,拟与姚古掎角,共解太原之围。枢密院责其逗留,遂约姚古俱进,中途为金军所袭,五战三胜,回军榆次(今属山西),因姚古失期,军中乏食,力战而死。