본관은 해주(海州). 자는 영언(英彦), 호는 퇴전당(退全堂). 안성 출신. 할아버지는 증승지 오경운(吳慶雲)이고, 아버지는 호군 오수천(吳壽千)이다. 어머니는 이해(李嶰)의 딸이다. 작은아버지인 수군우후(水軍虞候) 오수억(吳壽億)에게 입양되었다.
1583년(선조 16) 무과에 장원급제하자, 이이(李珥)가 인견(引見)하고 참으로 영재를 얻었다고 칭찬하였다. 당시 북쪽에서 이탕개(泥湯介)가 종성 땅을 자주 침범하자 대사마(大司馬) 이일(李鎰)의 휘하에서 종군하였다.
1592년 임진왜란이 일어나자, 도총부도사로 영흥 지방에서 의병 수천인과 힘을 합쳐 많은 전공을 세웠으며, 이어 부령부사·정평부사를 지냈다. 그뒤 동지중추부사 겸 부총관·포도대장·군기시제조·서북순변사 등을 지냈으며, 1603년에 가선대부(嘉善大夫)에 승품되었다.
이듬해 전라도병마절도사가 되고, 이어 경상우도병마절도사 겸 진주목사와 황해도병마절도사를 역임하였다. 광해군 때 인목대비(仁穆大妃)의 폐위를 적극 반대하다가 사직당하였다.
1623년(인조 1) 인조반정으로 다시 포도대장에 등용되었으며, 경상좌도병마절도사를 끝으로 관직에서 물러났다. 1624년 이괄(李适)의 난 때는 왕을 공주에까지 호종하였다. 뒤에 병조판서에 추증되고, 시호는 정무(貞武)이다.