1937年参加八路军，1939年加入中国共产党。抗日战争时期，他历任副大队长、分队长、干事、副指导员、指导员、队政治委员等职，参加了反“扫荡”、反蚕食、反封锁等战役战斗。第二次国共内战时期，他历任副教导员、团司令部参谋长、副团长等职，参加了三保本溪、三下江南，四保临江、辽沈、平津、衡宝、广西等战役战斗。新中国成立后，他历任团长，师司令部副参谋长兼炮兵主任、第一副师长兼司令部参谋长，副师长、桂林步兵学校训练部部长、广州军区步兵学校副校长、要塞区司令员、广西军区司令部副参谋长、广州军区军政干部学校训练部部长，广州军区步兵学校副校长、校长，广州军区司令部参谋长、广州军区副司令员等职，参加了解放南澳岛、南澎岛等战役战斗，参加了朝鲜战争。1989年5月至6月，广州军区司令员张万年因心肌梗塞住院治疗期间，曾短暂代理军区司令员职务。