울산광역시에서 태어났지만 전라남도 순천시에서 초등학교 2학년 때까지 거주하다 상경했다. 영남중학교 때까지는 외야수로 활약했고, 경기고등학교에서 투수로 전향했다. 경기고 2학년 때인 1999년에는 박찬호 야구 장학금을 받았다. 이 때 동기인 김태균, 이범호, 정상호, 채태인과 함께 장학금을 받았다. 경기고 3학년 때는 추신수, 이대호 등과 함께 청소년 대표팀으로 발탁돼 우승에 기여했다.
2001년에 1차 지명을 받아 입단했으나 어깨 부상과 마운드에서의 혹사 등으로 별다른 성적을 내지 못했다. 2002년 당시 마무리였던 신윤호의 부진으로 마무리로 보직이 변경됐지만 이상훈이 시즌 중 미국에서 복귀해 다시 중간 계투로 보직이 변경됐다. 2004년에 진필중의 부진으로 마무리 보직을 다시 맡아 맹활약했으나 그 해 병역 비리에 연루됐고 행정 소송을 제기했으나 받아들여지지 않았다. 몇 차례의 수술로 인해 재활 후 2005년에 공익근무요원으로 입소했으나 예전에 부상이 있었던 팔꿈치 부상이 악화돼 2006년 6월 1일에 의병 소집 해제됐다.[2] 조기 소집 해제 후 2007년 말에 토미 존 수술을 받았다.[3] 3번의 팔꿈치 수술 끝에 2009년 6월, 5년 만에 다시 1군 무대에 섰고 중간 계투로 등판해 1승, 1홀드를 기록했다. 2010년에 7승 3패, 4세이브, 15홀드로 팀의 핵심 셋업맨으로 활약했다. 2013년에 6승 3패, 1세이브, 25홀드를 기록하며 커리어하이 시즌을 보냈다. 2015년에는 FA가 됐고 2015년 11월 28일 3년 총액 30억원(계약금 12억원, 연봉 6억원)에 FA 계약을 하며 잔류했다.[4]