北宋洛阳(今河南洛阳东)人,字仲通。康定中,录为三班奉职,隶范仲淹麾下。久戍西北边境。治平二年(1065),同签书枢密院。熙宁九年(1076),交耻李乾德攻入邕州,他任安南行营经略招讨使兼荆湖、广南宣抚使,率师南征,收复邕、廉等州,大战于富良江边。终因冒暑涉瘴,功未竟而班师,坐贬左卫将军,西京安置。哲宗立,起知潞州。病卒。