선생은 1851년 경북 현풍군(현, 경북 달성군 현풍면 상동리)에서 부친 하규와 경주이씨 사이에서 장남으로 태어났다. 어려서부터 무인으로서의 자질을 보였던 선생은 25세에 중국의 금릉에 건너가 3년간 한의학을 수학하고, 32세 때인 1882년 조운리(漕運吏)가 되었다. 첫 관리생활을 시작한 후 세곡을 조운선으로 운반하던 중 전라도지역의 기근 상태를 보고 기민들에게 곡식을 나누어 주었다. 이로 인하여 선생은 관직에서 물러났다.
이후 1893년 5월 선생은 별시 무과에 병과로 급제하여 경복궁5위장에 특제되었으며, 그해 12월 진잠 현감에 제수되었다. 이듬해 11월 양호소모사의 직에 임명되어 활동하였으나 의병을 일으켜 ‘토왜’하려 한다는 고발로 인해 공주부에 구금되는 사건이 발생하였다. 양호소모사로 동학농민군을 진압하는 과정에서 일본군의 무자비함과 조선정부의 나약함을 본 후 일본을 몰아낼 계획을 세우고 공주부 관병에게 군사훈련을 시킨 것이다. 사실상, 의병투쟁의 계획 준비단계였다.
1895년 6월, 석방된 선생은 8월 명성황후의 시해소식을 듣고 국모의 복수를 위하여 의병을 일으켜 흉적을 토벌하고자 하였다. 선생은 송근수, 신응조 등 지역유림의 대표자들과 함께 창의하여, 9월 18일 ‘공주의 유성’에서 의병을 일으켰다. 이는 지역의 유학자들은 물론 일반 서민들의 참여를 기반으로 한 것이었다.
선생은 지휘부를 조직한 후 각지 통문을 발송하여 을미사변을 천고에 없는 대변으로 규정하고 의병을 일으켜 적을 토벌하여 사직을 건져야 할 것을 호소하였다. 유성장터에서 부대를 편성한 후 회덕현을 급습하여 무기를 탈취하고, 300여 명의 의병을 무장하여 10월 28일, 공암을 거쳐 공주를 향해 진격하였다. 그러나 관군의 공격에 패산하였다.
선생은 패산 후 중군 오형덕 등과 함께 경상도 고령 초계등지에서 재봉기를 준비하였으나 고령현감의 고변으로 체포되고 말았다. 옥고를 치르면서 몸이 극도로 쇠약해졌음에도 불구하고 재봉기를 시도하는 등 선생의 의병투쟁에 대한 의지는 뜨거웠다. 선생은 이듬해 봄 영장 최은동 등과 함께 탈출하였으나 이미 선생의 집은 일본군에 의해 불태워져 있었다.
1896년 4월 선생은 서울에 들어와 정계의 요로들과 접촉을 시도하고, 이어 원주로 내려가 ‘도지휘’가 되어 각도 의병장들에게 통문을 돌리기도 하였다. 이시기 유인석의 제천의병과도 연락이 있었던 것으로 보인다. 그러나 불행히 선생은 병에 걸려 8월 12일 현풍으로 귀환하였으며, 결국 11월 19일 밤에 46세의 일기로 병사하고 말아 거의의 목표를 끝내 이루지 못하고 말았다.
정부에서는 선생의 공로를 기려 1993년 건국훈장 독립장을 추서하였다