기원전 18년,백제가 한강 유역에서 건국된 이래 백제의 중심지로4세기 말까지 기능했다.396년,고구려가 백제를 공격하여 한강 이북 지역을 점령하였으며475년에는 한강 이남 지역도 상실하여 경기도 대부분이 고구려의 지배 하에 들어갔다.551년에백제 성왕은신라와 연합하여 경기도 일대를 수복했으나553년에 신라가 연합을 파기하고 경기도 일대를 차지하고 신주(新州)를 설치하여 다스렸다.557년에 신주가 북한산주(北漢山州)로 개칭했다. 신라는 경기도를 차지하여 중국과의 해상 교통로를 확보했다.신라 시기엔한산주(漢山州)가 설치됐는데757년에 한주(漢州)로 개칭됐다.9세기 말에 신라가 혼란에 빠지자 경기도 각지엔 호족 세력이 난립했는데898년에궁예의 세력이 경기도 일대를 평정했다. 궁예의후고구려는 송악(宋岳)에 도읍을 두기도 했다.918년에 송악의 호족인왕건이 궁예를 타도하고고려를 건국했다.
고려는 송악을개경(開京)으로 개칭하고 도읍으로 삼았다.고려 성종 14년(995년)에 지방행정구역을 십도(十道)로 개편할 때, 현재의 경기도는 관내도(關內道)와 중원도(中原道) 일부가 관할하는 지역이었다. 개경 주변에 적현(赤縣)(경현京縣이라고도 함) 6개와 기현(畿縣) 7개를 설치하였고,1018년에현종이 적현과 기현을 묶어서 왕도의 외곽지역을 정식으로 '경기(京畿)'라 부르기 시작하였다. 당시 경기는 오늘날 경기도의 북부 일부(파주시의 북부,연천군의 서부)만 포함하였고, 이를 뺀 경기도의 대부분 지역은양광도에 속하였다.1067년에서울의 강북 지역에 남경(南京)이 설치되었다.1069년에양광도(楊廣)·교주도(交州)·서해도(西海道)로부터 39현을 포함하면서 원래 경기 13현과 합하여 총 52현을 관할하는 규모로 확대되었으나, 얼마 후 경기의 영역은 현종 때의 규모로 축소되었다.조선 개국 2년 전인1390년, 총 44현을 통할해1069년에 확대되었던 영역과 비슷한 규모로 재편되었고 처음으로 도 단위의 지방조직이 되었다. 당시의 경기는 좌도와 우도로 나뉘어 통치되었다.
조선 시대에는 태조가 도읍을한양으로 정한 뒤, 경기의 영역을 재조정하였다. 1402년(조선 태종 2년)에는 경기좌우도를 경기좌우도성(京畿左右道省)으로 명명했고 1413년(조선 태종 13년)에는 지금과 비슷한 경기도의 경계선이 확립되었다.
1414년(조선 태종 14년) 1월 18일에 경기좌도(京畿左道), 경기우도(京畿右道)가 경기도로 통합되었다. 이 과정에서 수안(遂安), 곡주(谷州), 연안(延安) 등 옛 경기도 북서부 지역이 풍해도(豊海道,황해도(黃海道))에 편입되었으며 양주(楊州), 광주(廣州), 수원(水原), 여주(驪州), 안성(安城)을 비롯한 일부 옛충청도 북부 지역이 경기도에 편입되었다.세종 시기에는 경기도 철원(鐵原), 안협(安峽)이강원도에 지우고 충청도 죽산(竹山)이 경기도에 이관되었다.
1963년 1월 1일의정부시가양주군에서 분리 신설되었고, 부천군 영종면 운남리 작약도가인천시 관할로 이관되었다. 장단군 군내면이 파주군 임진면, 장남면이 연천군 백학면에 각각 편입되었다.
1967년 도청 이전으로 경기도의 도청소재지가서울특별시에서수원시로 이전을 했다. 의정부시에 북부출장소가 설치되었다.
1972년 12월 28일장단군이 폐지되고 장단면, 진서면(군사분계선 이북 제외), 진동면이 파주군에 편입되었다.
1973년 7월 1일고양군 신도면 구파발리, 진관내리 및 진관외리가 서울시서대문구 (현재은평구)로 편입되었다. 동시기에성남시 (옛 광주군의 돌마면·낙생면과 중부면·대왕면의 일부)가광주군에서 분리 승격되었고,안양시가시흥군 안양읍에서 승격되었다.[16] 같은 날 경기도부천군 소사읍을부천시로 승격시키고 소래면은시흥군으로, 계양면과 오정면은 김포군으로, 영종면, 북도면, 용유면, 덕적면, 영흥면, 대부면은옹진군으로 이관되어 부천군은 폐지되었다.
1975년 10월 1일 김포군 오정면이 부천시에 편입되었다.
1979년 5월 1일 파주군 군내면에 옛 장단군 지역을 관할하는 군내출장소(2011년 장단출장소로 개칭)이 설치되었다. 시흥군 서면, 남면, 의왕면이 각각 소하읍, 군포읍, 의왕읍으로 승격되었다. 군청 소재지가 면에서 읍으로 일괄 전면 승격되었다.
1981년 7월 1일 경기도 인천시 일원을 관할로인천직할시가 설치되어 경기도에서 완전히 분리되었다.[17] 같은 해광명시 (시흥군 소하읍이 광명시로 승격 분리)가시흥군에서,동두천시 (양주군 동두천읍에서 동두천시로 승격)가양주군에서 분리 신설되었고, 평택군 송탄읍이송탄시로 승격되었다.
1983년 2월 15일 반월면 일부가 시흥군 의왕읍으로, 포천군 청산면이 연천군으로, 연천군 관인면이 포천군으로 편입되었다.
1986년 1월 1일과천시가시흥군 과천면에서 승격 및 분리되었고, 반월출장소 등이안산시로 승격되어 화성군과 시흥군에서 각각 분리되었으며,평택시가 평택군 평택읍에서 승격 후 분리되었다.
1989년 1월 1일 경기도김포군 계양면 일원이인천직할시 북구에, 경기도옹진군 영종면·용유면 일원이인천직할시 중구에 각각 편입되었다. 같은 날군포시와의왕시가시흥군에서 분리되었고, 시흥군의 나머지는 군내 모든 읍·면을 폐지하고시흥시로 승격되었다. 동년에하남시가광주군에서 완전히 분리 신설되었다.[18] 이 날오산시가화성군 오산읍에서 승격 후 완전히 분리되어 경기도의 독립적인 행정 구역이 되었다. 남양주군 미금읍이 미금시로 승격되었다.
경기도는조선 시대와일제강점기를 거치는 동안 농업을 기반으로 한 전통적인 농촌 지역의 성격을 지니고 있었다. 당시 경기도는 수도 한성을 둘러싼 곡창지대로서의 역할을 담당하였으나, 인구 규모는 현대와 비교할 때 매우 적은 편이었다. 대다수 주민은 농업에 종사하였으며, 인구 밀도 역시 낮았다.
1950년한국전쟁 이후 피난민과 귀환민이 서울 및 인근 지역으로 몰려들었고, 그 과정에서 경기도 역시 인구 증가를 경험하였다. 1960년대 박정희 정부의 산업화 정책에 따라 서울에 공장이 집중되면서, 주거 수요가 경기도 주변 지역(성남, 안양, 부천, 수원 등)으로 확산되었다. 이 시기를 기점으로 경기도는 본격적으로 서울의 위성도시적 성격을 띠기 시작하였다.
1970년대에 접어들며 새마을운동과 산업단지 조성(구로, 반월, 평택 등)이 본격화되면서 경기도의 도시화는 급속히 진행되었다. 특히1980년대 후반부터1990년대 초반에 걸쳐 추진된 분당·일산·산본·중동·평촌 등 제1기 신도시 개발은 대규모 인구 유입을 촉발하였다. 이에 따라 경기도 인구는1970년 약 500만 명 수준에서1990년경 1,200만 명으로 두 배 이상 증가하였다.
1990년대 이후에도 판교·동탄·파주 운정 등 제2기 신도시가 개발되면서 경기도의 인구 증가는 지속되었다. 이러한 변화의 결과, 경기도는2000년대 초반 서울을 추월하여 전국에서 가장 많은 인구를 보유한 광역자치단체로 부상하였다. 수도권 과밀화 현상은 한층 심화되었으며, 경기도는 수도권 주거지로서의 비중을 확고히 하였다.
2010년대 중반 경기도 인구는 1,200만 명을 돌파하였으며,2025년 현재 약 1,400만 명에 이르고 있다. 반면 서울의 인구는 감소 추세를 보이고 있어, 경기도는 수도권 내 인구 비중에서 절반 이상을 차지하는 상황에 이르렀다. 또한 광역 교통망의 확충(GTX 등)과 제3기 신도시 개발(남양주 왕숙, 하남 교산, 고양 창릉 등)에 따라 향후에도 경기도의 인구 분산 및 집중은 동시에 진행될 것으로 전망된다.