경북대학교 국어국문학과를 졸업하고 〈여원〉 〈경향신문〉 등 신문사와 잡지사 기자로 일했다. 집현전 학사 연쇄살인 사건을 통해 세종의 한글 창제 비화를 그린 소설 《뿌리 깊은 나무》, 신윤복과 김홍도의 그림 속 비밀을 풀어가는 추리소설 《바람의 화원》을 발표했다. 빠른 속도감과 치열한 시대의식, 깊이 있는 지적 탐구가 돋보이는 소설들은 독자들의 폭발적 호응을 얻으며 한국형 팩션의 새 장을 열었다. 소설 《바람의 화원》은 2008년 문근영, 박신양 주연의 드라마로, 《뿌리 깊은 나무》는 2011년 한석규, 장혁, 신세경이 출연한 미니시리즈로 방영되어 화제를 모으기도 했다.
또한 윤동주와 그의 시를 불태웠던 검열관 스기야마 도잔의 이야기를 그린 《별을 스치는 바람》(2012)은 출간 즉시 베스트셀러에 올랐으며, 영국, 프랑스, 스페인 등 11개국에 번역․출간되었다. 이 작품으로 2015년 영국 인디펜던트 외국소설상(Independent Foreign Fiction Prize)에 노미네이트되었으며, 2017년 한국 작가로는 최초로 이탈리아에서 가장 권위 있는 문학상 프레미오 셀레지오네 반카렐라(Premio Selezione Bancarella) 문학상을 수상했다.
그 외 작품으로 장편소설 《천년 후에》 《해바라기》 《마지막 소풍》 《악의 추억》 《천국의 소년》 《선한 이웃》 등이 있다.