본래 백제의 진동현(珍同縣, 또는 珍洞縣)이었는데, 757년(경덕왕 16)웅주도독부(熊州都督府) 관내 황산군(黃山郡)의 영현으로 삼았다.
한때 후백제에 속하였고, 고려시대에는 전주도 관내 진례현(進禮縣)의 속현이었으나 1390년(공양왕 2)고산현(高山縣)으로 편입되었다. 1393년(태조 2) 왕의 태(胎)가 관내 만인산(萬仞山)에 묻히면서 진주(珍州)로 승격되었고 지사관(知事官)을 두었다.
1413년(태종 13)진산군으로 고쳤고, 1466년(세조 12) 지군사를 군수로 바꾸었다. 1895년(고종 32)공주부에 속하였다가 이듬해에 전라북도에 속하였으며 1914년 행정구역개편 때 진산군과 금산군이 통합되어 금산군이 되었다.
1963년에는 충청남도로 편입되었다. 옛 진동의 치소는 백제가 탄현(炭峴)을 지키기 위하여 설치하였는데 고려 때 북동쪽 10리인 현위치로 옮겼다고 한다.
서쪽의 배티〔梨峙〕에서는 임진왜란 때 전라도 의병들이 치열한 격전 끝에 적을 격퇴하였다. 지금의 진산면ㆍ복수면ㆍ추부면 지역으로 추정된다.