본관은 단양(丹陽). 아버지는 이천부사 우필성(禹弼成)이다.
일찍이 무과에 급제하였다. 여러 무관직을 거쳐 1592년(선조 25)에 경상우수영 소속인 영등포만호(永登浦萬戶: 거제도)가 되었다.
그 해 4월에 왜선이 경상도해안의 각 수군진포(水軍鎭浦)를 급습하자, 수사인 원균(元均)의 지휘하에 적선 10여 척을 쳐부수는 데 공을 세웠다. 5월 초에 전라좌수사 이순신(李舜臣)과 경상우수사 원균이 함대를 이끌고 합동작전을 하자, 옥포만호 이운룡(李雲龍)과 함께 선봉에서 연합함대를 인도하였다.
옥포·적진포·합포 해전 때에는, 맨 먼저 왜장이 탄 적선에 뛰어올라가 적을 죽이고 그 배를 빼앗았다. 그 뒤 많은 해전에서 원균의 돌격전법의 선봉장으로서 언제나 적선에 올라 많은 적을 죽이고, 적에게 잡혀 있던 우리 백성들을 구해내었다. 1596년에 순천부사가 되었으며, 1598년에 노량해전(露梁海戰)에서 왜군을 무찌르는 데 매우 공이 컸다.
이 때 적장 한명이 큰 활을 휘어잡고 누선(樓船) 위에 높이 앉아서 독전하는 것을 보고 쏘아죽였다. 1601년 충청수사가 되었으나, 이듬해 간원(諫院)으로부터 불의를 많이 행하였다는 탄핵을 받기도 하였다.
1605년 북도우후(北道虞候)에 이어 경흥부사·회령부사 등을 거쳤다. 1611년(광해군 3)에 삼도수군통제사가 되고, 1613년 가선대부(嘉善大夫)로 승진되면서 함경·강원도의 순변사(巡邊使)가 되었다.
그 뒤 경성부사를 거쳐 1619년 평안도병마절도사, 1625년(인조 3) 경상좌도병마절도사가 되었다. 1628년 함경북도병마절도사로 재직하던 중 그곳에서 죽었다.