2003년에 2차 3라운드 19순위 지명을 받아 입단하였다. 경찰 야구단 입대 전까지 주로 중간 계투 또는 마무리로 등판했다. 2007년 30세이브를 거두며 오승환에 이어 세이브 2위를 기록했고, 2003년이상훈 이후 두 번째로 팀에서 나온 30세이브였다. 도하 아시안 게임에 출전했으나 동메달에 그쳐 병역 혜택을 받지 못하고 2009년 시즌 후 경찰 야구단에 입대했다.[1]
입대 후 선발로 전향해 2010년 퓨처스 북부리그에서 10승 4패, 8세이브, 평균자책점 3.11을 기록했고 2011년 퓨처스 북부리그에서는 15승 무패, 1세이브로 북부 리그 다승왕과 최우수 평균 자책점상(2.34)을 수상했으며 팀의 퓨처스 북부리그 첫 우승에 기여했다.
2016년 시즌 후 FA 자격을 얻었다. 2016년12월 5일 계약 기간 4년, 계약금 37억원, 연봉 7억원 등 총액 65억원에 FA 계약을 체결하며 이적하였다.[5]LG 트윈스는 그의 보상 선수로 최재원을 지명했다.
시즌 초반에는 승운도 따르지 않았고 타구에 맞는 부상을 당한 후 잠시 로테이션에서 빠졌다가 복귀 후 2경기 연속 패전으로 부진한 모습을 보였다. 그러나 5월 19일한화전 때 좋은 모습을 보여 이적 후 첫 승을 기록했고, 이후 3경기 연속으로 좋은 투구로 3연승을 챙겼다.
허리 부상이 계속 겹쳐 많은 경기에 등판하지 못했다. 시즌 27경기에 등판해 7승 10패, 5점대 평균자책점으로 기대에 못 미치는 성적을 기록했다.