명종 때 효도와 청렴으로 천거되어 참봉에 임명되었으나 사퇴하였다. 선조 즉위 초년 유현(儒賢)을 뽑아 육품직에 승진시켰는데, 조목(趙穆) · 성혼(成渾) · 정구(鄭逑) 등과 함께 유일(遺逸: 학식과 덕망이 높아 과거를 거치지 않고 높은 관직에 임명될 수 있는 학자)로 천거되어 공조좌랑에 임명되었지만 역시 사퇴하였다.
1592년(선조 25) 임진왜란이 일어나자 5월에 조종도(趙宗道) · 곽준(郭䞭) · 문위(文緯) 등과 함께 거창과 고령에서 의병을 일으켰다.
금산과 개령 사이에 주둔한 적병 10만과 우지(牛旨)에서 대치하다가 진주목사 김시민(金時敏)과 함께 지례(知禮)에서 적의 선봉을 역습하여 크게 승리를 거두었으며, 이 공으로 합천군수에 제수되었다.
그 뒤 무계(茂溪)에서도 승리를 거두어 9월에는 첨지사(僉知事)에 임명되고, 11월에는 의병대장의 교서를 받았다.
당시 호남관찰사에게 군사와 군량을 요청했으나 회답이 없자 스스로 무기를 수선하고 병사를 격려하여 전투에 임했으며, 호남과 영남의 의병장들과 함께 4도로 진병하고자 했으나 그 약속이 이행되지 못하자 혼자 군사를 이끌고 고령 · 지례 · 금산 · 의령 등을 수복하였다.
왕이 그 공적을 장하게 여겨 이 군사들에게 근왕(勤王)할 것을 명했으나, 백성들이 통곡하며 보호를 청하고 관찰사 김성일(金誠一)이 장계를 올리니 본도에 머물러 수호하라는 교서가 내려졌다.
1593년 1월 경상우도병마절도사가 되어 충청도 · 전라도 의병과 함께 금산에 주둔하며 선산(善山)의 적을 격퇴시킬 준비를 갖추던 도중, 갑자기 병에 걸리자 자신의 죽음을 알리지 말라는 유언을 남기고 죽었다.
여러 장수가 그의 유명(遺命)을 받들어 신창(新倉)까지 돌아온 뒤에야 그의 죽음을 알리니, 군사들이 통곡하고 백성들이 매우 애통해하였다.
관찰사 김성일이 장계를 올려 보고하니, 왕이 애도하며 예관을 보내 치제(致祭)하게 하고 병조판서 겸 지의금부사(兵曹判書 兼 知義禁府事)를 명하였다.
강직한 절의를 지니고 있었고, 문장보다 성현의 본지(本旨)를 마음에 새기어 실천에 힘썼으며, 특히 이정(二程: 정호(程顥)와 정이(程頤))의 글을 좋아하고 본받으려 하였다. 저서로는 『송암실기(松庵實紀)』가 있다.
고령의 도암사(道巖祠)에 제향되었으며, 1607년 선무원종공(宣武原從功)에 기록되고 이조판서에 추증되었다.