중앙대학교를 졸업하고 2010 시즌울산 현대에 입단하였다. 주전 라이트백이었던 오범석이 국가대표 소집으로 자리를 비운 틈을 타 데뷔전을 치렀고 시즌이 끝날 때는 리그 19경기 출전 기록을 거두었다. 2011 시즌 개막 전 경쟁자였던 오범석이 수원으로 떠났으나 새로 영입된 송종국과 경쟁을 벌여야 했다. 시즌 중반 송종국이 톈진으로 이적한 후 주전 자리를 꿰찼다. 그 후, 팀의 주전으로 활약하며, 2011 K리그 컵 우승, 2011 K리그 준우승, 2012 AFC 챔피언스리그 우승, 2013 K리그 클래식 준우승에 일조하였다. 2013 시즌 후, 2013 K리그 클래식 베스트 11 수비수 부문에 선정되었다. 2014 시즌 중, 10월 26일에 열린 성남과의 원정 경기에서 후반 13분 김동희와 헤딩 경합 과정에서 충돌하여 눈 주위가 찢어졌고, 코뼈 골절을 당해 시즌 아웃이 예상되었으나, 11월 16일에 열린 서울과의 원정 경기에서 선발 출전하였다.
2014 시즌을 마치고, 팀 동료 김성환과 군 문제를 해결하기 위해 상무에 입대하였고, 2015 시즌에는 상주를 한 시즌만에 K리그 클래식으로 승격하는데 큰 공헌을 하였으며 2015 K리그 챌린지 베스트 11 수비수 부문에 선정되었다.
2016 시즌을 앞두고, 상주 상무의 새로운 주장으로 선임되었다. 9월 14일에 상무에서 군 복무를 마치고 원 소속팀인 울산으로 복귀하였다. 시즌이 끝나고, 팀 동료 이재성과 함께 전북 현대로 트레이드되었다.[4]