본관은 고창(高敞). 함안 출생. 자는 태원(太源), 호는 죽유(竹牖)·죽계(竹溪). 의령현감 오석복(吳碩福)의 증손으로, 할아버지는 전의현감 오언의(吳彦毅)이고, 아버지는 오수정(吳守貞)이다. 어머니는 순흥 안씨(順興安氏)로, 부호군(副護軍) 안관(安瓘)의 딸이다. 이황(李滉)·조식(曺植)의 문하에서 수학하였다.
1561년(명종 16) 생원시에 합격하고 1566년 별시 문과에 병과로 급제, 성균관의 학유(學諭)·학정·박사·전적(典籍)·직강(直講) 등을 역임하였다. 1583년(선조 16) 경원부 아산보(阿山堡)의 추장 번호(藩胡)가 난을 일으키자 북도조전장(北道助戰將)으로 나가 공을 세웠다.
그 뒤 충주목사 겸 편수관(編修官)을 거쳐, 사성(司成)을 지낸 뒤 사재감정(司宰監正)이 되고, 1589년 광주목사(光州牧使)로 나갔다가 해직되었다. 1592년 임진왜란이 일어나자, 의령에서 의병을 일으켜 곽재우(郭再祐)의 휘하에서 소모관(召募官)·수병장(收兵將) 등으로 활약하였다.
그 때 백령(白嶺)에서 모집한 의병이 전후 2만여 명에 이르렀다. 특히 의령 부근의 전투와 현풍 전투에 군공이 뛰어났다. 1593년 상주목사가 되고, 이듬해 합천군수를 지냈다. 1597년 정유재란 때 다시 합천 부근의 왜적을 쳐서 공을 세워, 도원수 권율(權慄)의 추천으로 통정대부(通政大夫)에 오르고, 명나라 장수 진린(陳璘) 제독의 접반사(接伴使)로 활약하였다.
1599년 첨지중추부사를 거쳐 장례원판결사에 승진했으나 병으로 사직하였다. 1608년 다시 기용되어 경주부윤이 되었으며, 1616년(광해군 8) 공조참의에 올랐으나 병으로 사직하였다. 이 때 시정득실(時政得失)을 진술하였다.
임진왜란 당시 곽재우와 함께 분전한 17장(將)의 한 사람으로, 선무원종공신(宣武原從功臣) 1등에 책록되고 병조참판에 증직되었다. 영주의 산천서원(山泉書院)에 제향되었다.
저서는 『죽유문집』이 있고, 편서는 『동사찬요(東史纂要)』가 있다.