1871년 신미양요 때 진무중군(鎭撫中軍) 어재연(魚在淵) 휘하의 대솔군관(帶率軍官)으로 장병을 지휘, 광성보전투에 참전하였다. 6월 11일 미군이 강화도 최대의 요새지 광성보에 대한 돌격전을 벌일 때 어재연을 도와 끝까지 이를 사수하였다.
또, 해상에서 미군함정의 함포사격이 계속되고 육상 대모산(大母山)으로부터는 야포와 소총사격이 우박처럼 떨어지는 가운데에서도 최선봉에 서서 용감하게 싸웠다. 조선의 대포와 화승총으로는 미군의 근대식 대포와 소총을 대적할 수 없어 결국 미군은 광성보로 노도와 같이 쳐들어왔다.
이때 대포와 소총을 버리고 몽둥이와 돌멩이로 육탄전을 벌였다. 난입해오는 미군과 혼전을 벌이다가 적의 칼에 맞아 전사하였다. 정부는 이와 같은 충절을 기려 병조참의를 추증하였다.