長崎市出身。長崎県立長崎南高等学校、法政大学経営学部卒業。その後、スイミングスクールのインストラクターなどのアルバイトなどを経験。1997年、「最後の息子」で、第84回文學界新人賞を受賞し、小説家デビュー。同作で、第117回芥川賞候補。
2002年、『パレード』で、第15回山本周五郎賞を受賞し、同年には「パーク・ライフ」で、第127回芥川賞を受賞。純文学と大衆小説の文学賞を合わせて受賞したことで、山田詠美や島田雅彦と同じ系統のクロスオーバー作家が現れたと話題になった。
2003年、布袋寅泰のシングル『NOCTURNE No.9』のカップリング「グレイト・エスケイプ」で、作詞に挑戦。
若者の都市生活を描いた作品が多かったが、殺人事件を題材にした長編『悪人』で2007年に第61回毎日出版文化賞と第34回大佛次郎賞を受賞。
2010年、『横道世之介』で第23回柴田錬三郎賞を受賞。