2002년 신인 드래프트에서 2차 6라운드(전체 48순위) 지명을 받아 입단하였다.[1][2] 입단 당시의 수비 위치는 포수였는데, 어깨가 좋고 타격에 재능이 있는데다가 왼손과 오른손 모두 타격할 수 있는 이점이 있었다.[3] 하지만 수비 쪽에서 약점을 보였고, 결국 성적 부진으로 2005년 시즌 후 방출됐다.
방출 후 상무 야구단에 지원하였으나 탈락했다. 때마침 방출당한 2005년 말에 당시 새로운 군 팀으로 창단한 팀에 입대해 최진행 등과 함께 창단 멤버가 된 후 외야수로 전향했고, 기량이 발전해 2군을 평정했다. 제대 전인 2007년 말 김주찬, 이우민, 정찬헌, 진야곱, 나지완 등과 함께 야구 월드컵에 참가했다.
전 경기에 출장해 데뷔 후 최고의 시즌을 보내며 타격 3개 부문에서 1위를 차지했고 KBO 리그 방출 선수 출신 최초의 홈런왕이라는 진기록을 세웠다. 거기에 압도적인 최다 득표로 데뷔 첫 골든 글러브를 받았다.[6] 또한 KBO 리그 사상 최초의 우투좌타 홈런왕이었다.[7] 그 이후 아시아 시리즈 3차전 통이 세븐일레븐 라이언스와의 경기에서 2점 홈런을 쳐 내며 팀의 창단 첫 아시아 시리즈 우승에 크게 기여했다.
시범 경기에서 좋은 모습을 보여줬으나 기대와는 달리 타율 0.232, 3홈런, 30타점에 그치는 등 극심한 부진에 빠져 시즌 중 2군으로 강등됐다. 그러나 2군에 다녀온 후 후반기 들어 서서히 살아나며 총 14홈런, 77타점을 올리며 시즌을 마쳤고, 한국시리즈 2차전에서 마리오 산티아고, 채병용을 상대로 각각 홈런을 쳐 내며 2홈런, 9타점으로 팀의 한국시리즈 2연패에 크게 기여했다.
시즌을 앞두고 주장이 됐다. 8월 23일두산 베어스전에서 이지영과 교체 출전한 진갑용이 파울 타구에 왼쪽 무릎을 크게 맞아 11년 만에 포수로 출전했다. 당시 넥센 히어로즈 소속이었던 박병호, SK 와이번스의 최정과의 홈런왕 경쟁이 치열했으나 박병호가 37홈런을 쳐 내며 홈런왕을 내줬고, 29홈런으로 홈런 2위로 시즌을 마감했다. 2013년 시즌 후 개인 2번째 외야수 부문 골든 글러브를 받았다.
팀의 4번 타자로서 맹활약을 펼쳤으나 시즌 중 갈비뼈에 금이 가는 부상을 입었다. 그러나 한 달만에 돌아와 3할 8푼까지 쳐 내며 맹타를 휘둘렀다. 당시 롯데 자이언츠 소속이었던 손아섭, 삼성 라이온즈 소속이었던 최형우
와 타격왕 경쟁을 펼쳤으나 시즌 후반기에 잠시 슬럼프를 겪어 201안타를 기록한 서건창에게 타격왕을 내줬다. 한국시리즈 5차전에서 당시 넥센 히어로즈의 마무리 투수였던 손승락을 상대로 끝내기 2타점 2루타를 쳐 냈다. 한국시리즈 6차전에서는 2타점 2루타(포스트 시즌 역대 최다 2루타)를 쳐 냈고, 주장으로서 팀의 통합 4연패 달성에 크게 공헌했다. 시즌 후 개인 3번째 외야수 부문 골든 글러브를 받았다.
2016년11월 24일 4년 계약금 40억원, 연봉 15억원 등 총액 100억원에 FA 계약을 체결하며 이적하였다.[8][9]
그의 보상 선수로는 강한울이 지명됐다. 2017년 이적 첫 해에 팀이 페넌트레이스 우승을 차지했으나 17타수 4안타, 1타점으로 부진했다.
2020년 시즌 후 FA 자격을 취득해 3년 총액 47억원에 잔류했다.[10]