원래 압량(押梁, 또는押督)이라는 소국이었는데 신라가 102년(파사왕 23)에 압량을 점령하였으며, 146년(일성왕 13) 압량국이 반란을 일으켜 이를 평정하였다는 기록도 보인다. 그 뒤 이곳에 압량주를 두고, 642년(선덕여왕 11) 김유신(金庾信)을 군주(軍主)로 임명하였다.
757년(경덕왕 16) 장산군으로 개칭하고 해안(解顔)·여량(餘粮)·자인(慈仁) 등을 영현(領縣)으로 하였다. 940년(태조 23) 장산현(章山縣)이 되었고, 그 뒤 현종 때 경주(慶州)에 이속시켰다. 1172년(명종 2) 비로소 감무(監務)를 두었다가 충선왕 때에 왕의 이름자를 피하여 경산(慶山)으로 고쳤다.
또한 충숙왕 때에는 일연(一然)의 고향이라 하여 현령을 두어 격을 높였고, 공양왕 때는 왕비 노씨(盧氏)의 출신지라 하여 군으로 승격시켰다. 조선 태조 때는 현으로 격하시켰다. 그뒤 약 500년간 큰 변동이 없다가 1914년 행정구역 개편 때 하양(河陽)·자인(慈仁) 2군을 편입하였다. 1982년 경산임당동고분(林堂洞古墳) 발굴로 문헌상 기록이 적은 압독국의 존재를 증명하여 주고 있다.