张先之父张维,好读书,以吟咏诗词为乐。张先于天圣八年(1030年)中进士。明道元年(1032年)为宿州掾。康定元年(1040年)以秘书丞知吴江县,次年为嘉禾(今浙江嘉兴)判官。皇祐二年(1050年),晏殊知永兴军(今陕西西安),辟为通判。四年以屯田员外郎知渝州。嘉祐四年(1059年),知虢州。以尝知安陆,故人称张安陆。治平元年(1064年)以尚书都官郎中致仕。此后常往来于杭州、吴兴之间,以垂钓和创作诗词自娱,并与赵抃、苏轼、蔡襄、郑獬、李常诸名士登山临水,吟唱往还。元丰元年卒,年八十九。
《
宋史》无传,《宋史翼》卷二六载其事。著有《张子野词》(一名安陆词),存词一百