군항 진해에서 태어났다. 서울대학교 국어국문학과에 입학해 박사과정을 수료할 때까지 신화와 전설, 민담, 고전소설의 세계에 푹 빠져 지냈다. 진해로 돌아와 해군사관학교에서 해양문학을 가르치며, 첫 장편 『열두 마리 고래의 사랑 이야기』와 『불멸의 이순신』을 썼다.
2009년 여름, KAIST 문화기술대학원 교수를 끝으로 대학을 떠난 이후, 전업 작가로 사회파 소설 『거짓말이다』 『살아야겠다』 등을 발표했다. 지금까지 『사랑과 혁명 1, 2, 3』을 비롯해 31편의 장편소설과 3권의 단편집, 3편의 장편동화를 냈다. 『김탁환의 섬진강 일기』 『아름다움은 지키는 것이다』 등 여러 에세이도 출간했다. 2016년 요산김정한문학상, 2024년 한국가톨릭문학상을 받았다. 2021년 1월, 곡성 섬진강 들녘으로 집필실을 옮겨 마을소설가이자 초보 농사꾼으로 새로운 삶을 살고 있다.