青森県弘前市の生まれ。県立弘前実業高校卒業後の19歳の時に俳優を志して上京。荒戸源次郎プロデューサーにスカウトされ、大楠道代の付き人となる。2001年、行定勲監督「GO」の窪塚洋介演じる主人公の朝鮮人学校時代の同級生・元秀(ウォンス)役で俳優デビュー。同年、豊田利晃監督「青い春」のオーディションに合格して、松田龍平扮する主人公・九條の幼なじみ・青木役に抜擢される。九條への愛憎相反する感情を持て余して自滅する青木を凶暴かつ繊細に演じて、その存在感が注目を集めた。翌02年に公開された同作で高崎映画祭の新人男優賞を受賞。03年は、荒戸が監督した「赤目四十八瀧心中未遂」で不穏な空気をまとう青年、松岡錠司監督「さよなら、クロ」では妻夫木聡扮する主人公と対照的な直情的な親友、さらに犬童一心監督「ジョゼと虎と魚たち」と出演作が相次ぎ、順調に経験を積んでゆく。以後も、崔洋一監督「血と骨」04では怪物的な父親の支配下から逃れようとする少年役、井上靖雄監督「隣人13号」05では元不良で今は良き父親という暴力性と父性を併せ持つ男を好演した。花村萬月原作、大森立嗣監督の「ゲルマニウムの夜」05で映画初主演。人を殺し、修道女を犯し、神の存在を試す青年・朧の虚無的な青春を鬼気迫る迫力で演じて絶賛を浴びた。強面のルックスと寡黙な雰囲気から不穏さを秘めた役柄を演じることが多く、西川美和監督「ゆれる」06のガソリンスタンド店員や、高橋伴明監督「BOX・袴田事件/命とは」10の冤罪を訴える死刑囚などが印象に残る。主演第2作となった山下敦弘監督「松ヶ根乱射事件」07での派出所警官役は、「隣人13号」で演じた役の系譜に連なるもの。デビューから一貫して映画を中心に活動してきたためテレビドラマは単発やゲストがほとんどだったが、10年のテレビ東京の深夜ドラマ『モテキ』では、森山未來演じる主人公の親友役で新たな一面を見せた。