1. 삼국시대
초기 가야의 맹주였던 금관가야의 본고장이었다. 김해라는 이름의 바다 해 자에서도 확인할 수도 있다시피, 고대 해수면은 현재보다 5~6m 가량 높았고 당시 김해 주변은 바다였다. 이 시기에는 지금의 부산광역시 강서구와 수가동 일부에 해당하는 김해평야는 '김해만'이라 불리는 바다였고 김해 북쪽인 밀양벌판과 밀양 삼랑진에서 김해 대동을 가로지르는 낙동강 역시 바다였다. ## 한마디로 현재의 거제도ㆍ 진도군ㆍ강화도ㆍ 여수시ㆍ남해군ㆍ 고흥군같은 좁은 해로를 낀 반도 지역이었던 것이다. 이 덕분에 김해에서 나는 철을 주변국들에게 팔러 가기에 매우 유리했으며 고구려와 신라의 위협에 대처할 수 있었다. 가락국 당시의 유물은 국립김해박물관에서 볼 수 있다. 금관가야의 쇠락 원인을 해수면의 하강과 낙동강 하구의 퇴적으로 배후습지로 변하자 김해가 항구 기능을 상실해 무역로에서 밀려나버린 것에서 찾기도 한다. 또한 바다를 낀 지형도 무용지물이 되어 신라와 고구려의 공격을 방어하기 힘들어졌을 것이다.2. 신라시대
가락국이 신라 법흥왕 때인 532년에 멸망한 뒤로는 금관군(金官郡)이 되었다. 삼국통일(통일신라) 이후 지금으로 치면 광역시에 해당하는 5대 소경 중 하나로서 680년 문무왕 때 금관소경이 되었는데, 757년 경덕왕 때 김해경(金海京)으로 개칭되었다. 이 것이 김해라는 지명의 시작.822년 김헌창의 난 당시 김헌창 측에 호응하기도 했으나 신라군에게 진압당했다.
후삼국시대에는 호족 김인광, 소충자, 소율희가 김해를 다스렸다.
3. 고려시대
고려 초기에는 김주(金州) 등으로 불렸다. 김해부, 임해현으로 잇따라 격하되었다가 임해군[1]으로 승격되었다. 이후 광종대에 김해부로 지위를 수복하였으며, 성종대에는 영동도 안동도호부가 되었다가, 목종대에 안동대도호부로 개칭되었다.이후 현종대에 금주로 개칭되면서 방어사가 설치되었으며, 충선왕대에 금주목, 김해부가 되었다. 당시 금주는 오늘날의 창원시와 함안군 전역을 통치하는 큰 고장이었다.
고려시대 김해는 남해 제일의 항구도시였으며, 왜구 방어의 전진기지였다.
4. 조선시대
태조 2년 경상도에 설치된 6개의 수관 중 하나였다. 이후 태종 13년 김해도호부가 되었고, 세조 5년 김해진관을 설치했다. 이때 국방면에서 김해의 통제를 받은 고을은 오늘날의 창원, 함안, 고성, 통영, 거제에 이르렀다.임진왜란이 일어날 당시 김해부사 서예원이 김해성을 지키고 있었다. 그런데 전투에 참여하고 있던 초계군수가 튀자 덩달아 서예원도 도주하는 바람에 남아있던 의병장 김득기, 송빈, 이대형, 류식[2] 넷이서 왜군을 방어하다 모두 전사했는데, 장군들을 모시기 위해 고종대에 지어진 것이 동상동에 있는 사충단이다[3].
여담으로 서예원은 이후 삭탈관직당했다가[4] 김시민의 1차 진주성 전투에 협력하였으며, 이후 진주목사로 있다가 2차 진주성 전투에서 순국했다.
또한 김해성이 함락된 이후 선조가 쓴 언문교서(국문교서)를 권탁이라는 무장이 받들고 김해성에 잠입해 양민들을 다수 구출하고 순국했는데, 권탁을 기리고 이 국문교서를 보관하기 위해 고종대에 선조어서각이 지어졌다. 그런데 다시 찾았기는 했지만 국문교서가 도난당하고, 어서각의 상태가 말이 아닌지라 국문교서 진품은 부산시립박물관으로 보냈고, 1989년 어서각도 현 위치로 이전하여 새로 지었다. 현재 어서각 경내에는 복사본이 보관중에 있다.
1895년 23부제가 시행되면서 진주부 김해군이 되었다가, 1년만에 13도제가 시행되면서 경상남도 김해군이 되었다. 이때 김해군에는 22개 면[5]이 있었는데, 1906년 대산면을 창원군에 넘겨줬으며, 양산군에서 대상면과 대하면(이후 1914년 대저면으로 통합)을 넘겨받았다.
1905년 마산선 철도가 개통되면서 진영역이 개업했다[6].
1906년 행정구역 개편으로 양산군으로부터 대저면을 넘겨받았다.
5. 일제강점기
1914년, 부제 실시와 더불어 군면폐합으로 인해 면의 수가 14개[7]가 되었다. 이후 좌부면, 우부면을 김해면으로 합쳤고, 하계면을 진영면으로 개칭하였다.1931년 김해면이 김해읍으로, 1942년 진영면이 진영읍으로 각각 승격되었다. 1944년 하동면이 대동면으로 개칭되었다.
6. 대한민국
1970년대 김해읍 전경. 내외동 전체가 논이었음을 알 수 있다.
1969년 외동으로 가는 길. 오늘날 1042번 지방도로 추정된다.
1974년 지내동의 모습. 남해고속도로(2차선 도로)와 14번 국도(고속도로 아래의 길)가 보인다.
김해군은 1970년대까지 경남에서 제일 큰 군이었다. 아직은 농업이 근본이던 시대, 김해는 드넓은 김해평야를 독차지하고 있었고 드넓은 평야는 비닐하우스로 채워졌다. 그 비닐하우스 안에서는 돈 되는 작물들이 많이 재배되고 있었다. 인구도 1966년에 19만 9천 명에 이르렀다. 당시 김해읍 인구는 4만 5천 명. 오늘날 한국지리 교과서나 참고서의 전국 인구 순위에 김해가 써있을 정도였다.
1973년 대저면이 대저읍으로 승격되었다. 1978년, 부산이 점점 커지다가 읍으로 승격된지 얼마 되지 않은 대저읍과 남쪽의 명지면, 그리고 옛 덕도면 지역인 가락면의 동부지역이 북구에 편입되었다. 대저읍이 대저1·2동이 되었으며(대저1동은 옛 대상면, 대저2동은 옛 대하면 지역), 명지면은 명지동, 옛 덕도면 지역은 강동동이 되었다. 곧이어 오늘날 김해세무서 자리에 군청을 이전하였다.
1981년 김해시 승격 당시의 시청사. 오늘날 서상동 KB국민은행 자리에 있었다.
1981년 김해읍이 김해시로 승격되었으며 위의 로고는 시 승격 당시부터 현재까지 사용되고 있다.[8]
1989년 김해군 가락면과 녹산면이 부산 북구에 편입되어 김해군은 더 이상 바다에 접하지 않게 되었다. 가락면은 가락동, 녹산면은 녹산동이 되었는데, 이때 의창군에서 천가면을 함께 편입하였다. 부산은 예전에 편입했던 북구 대저1·2동, 명지동, 강동동과 함께 새로이 편입한 지역을 모아 북구에서 분구하여 강서구를 신설했다.
1995년 전국 도농통합(시군통합)으로 인해 김해시와 김해군이 다시 하나가 되어 김해시가 되었다.
여담이지만, 1990년 전후로 장유면 주민들이 부산 편입을 청원하고 나섰는데, 도청과 군청에서 거부해 버린 적이 있다.
2013년 7월 1일 장유면이 장유1~3동으로 분동되었다. 동시에 김해군에서 시로 편입. 분동 찬반 투표는 찬성 50.1%, 반대 49.9%. 이 투표로 인해 분동이 되었는데, 문제는 이 투표에 참여한 사람도 찾아보기 힘들었으며, 신뢰성도 없다. 물론 당시 인구가 13만이 넘어 분동을 해야할 이유는 충분했다.
[1] 조선 선조의 맏아들로 광해군의 친형인 임해군의 봉호가 여기서 따온 것.[2] 柳湜 이 사람이 누구냐 하면 중종 때 연은분리법을 일본인에게 유출했다고 사죄(死罪)에 처해져야 한다고 이야기 되던 유서종의 아들이다. 유서종은 다음 해에 사면되는 데 그 아들 유식이 임진왜란 때 의병장으로 싸우다 전사했으니 죄를 면해준 보답은 넘치게 갚은 셈이다.[3] 두차례 옮겨진 것으로, 원래 위치는 동상동 873번지였다.[4] 이전에도 회령에서 여진족 적진으로 군사를 깊숙히 보냈다가 다 날려먹어서 종성에 유배당했다가 백의종군한 적이 있다.[5] 하계, 중북(하계), 상북(이북), 하북(이북), 생림, 상동, 하동, 좌부, 활천(좌부), 우부, 칠산(우부), 주촌, 진례, 율리(진례), 장유, 유하(장유), 덕도(가락), 가락, 명지, 녹산, 태야(녹산), 대산[6] 여담으로 당시 진영역 인근의 어느 마을은 철도의 개통으로 인해 마을이 부유해졌다고 한다. 이로인해 마을 이름이 부평이 되었다.[7] 하계(진영), 이북(한림), 생림, 상동, 하동(대동), 좌부(김해), 우부(김해), 주촌, 진례, 장유, 가락, 대저, 명지, 녹산[8] 참고로 김해시보다 더 오래된 로고도 있다. 바로 강화군과 안양시 그리고 진주시.