参将。隆庆初，迁副总兵，驻防古北口。移守宣府。万历十一年（1583年），以都督佥事为昌平总兵官，寻徙宣府。万历十五年（1587年），徙蓟州。久之，劾罢。后以副总兵协守宁夏，擢延绥总兵官。后进署都督同知，入为中府佥事。万历二十二年（1594年），他与巡抚李化龙击败把兔儿，进左都督，加太子太保，廕本卫世指挥使。万历朝鲜之役时，诏董一元隶总督邢玠麾下，参赞军事。寻代李如梅为御倭总兵官。