王乡西苇村人。早年参加渭北苏区游击队、中国工农红军，后担任红二十六军42师3团政委，之后兼任团长。1935年，改任红十五军团第78师第232团政委。1936年，担任中共清涧县委军事部部长；次年改任陕甘宁边区陕北东分区保安司令部司令员。1938年，担任陕甘宁边区第一河防司令员。1943年，任陕甘宁晋绥联防军警备第三旅副旅长兼第七团团长。1945年，担任任陕甘宁晋绥联防军385旅副旅长。1947年，任陕甘宁野战集团军警备第三旅旅长兼陇东警备区司令员、西北野战军第四纵队警备第三旅旅长。1949年，任第一野战军司令