济宁位于鲁西南腹地,地处黄淮海平原与鲁中南山地交接地带。东邻山青水秀的临沂地区,西与牡丹之乡菏泽接壤,南面是枣庄市和江苏省徐州市,北面与泰安市交界,西北角隔黄河与聊城市相望。最北端是梁山县小路口镇邹桥村,为北纬 35°57′;最南端是微山县高楼乡柳新养殖场,为北纬 34°26′;最东端是泗水县泉林乡历山火车站,为东经117°36′;最西端是梁山县黑虎庙乡高堂村,为东经115°52′;南北长167公里,东西宽158公里。
全市总土地面积 11187平方公里。其中:耕地面积6113.2平方公里,占总面积的54.6%;园地面积97.5平方公里,占总面积的0.9%;林地面积625.4平方公里,占总面积的5.6%;草地面积74.8平方公里,占总面积的0.7%;其他面积4276.2平方公里,占总面积的38.2%。
公元前221年, 秦始皇统一中国后始行郡县制。境内除任城县、亢父县属薛郡外,其他则属鲁郡。西汉时,境内曾置有东平国,领任、无盐、亢父、樊、东平陆、富城、章7县。东汉则从东平国析出任城国,领任、亢父、樊3县。三国、两晋、南北朝时期,境内政区变化不大,或为任城国,或为任城郡,领3县如故。隋统一后,改兖州为鲁郡,领瑕丘、任城、邹、曲阜、平阳、泗水、龚丘、梁文、博、赢10县。唐时无大变化,但五代周广顺二年(952年) 置济州,并割郓州的巨野、郓城,兖州的任城,单州的金乡归其统辖。这期间,境内其他各县则多属兖州。宋政和八年(1118年)兖州一度升为袭庆府,境内的仙源、泗水、瑕丘、邹县都归其统辖。金天德二年(1150年),济州由巨野迁往任城,并领任城、嘉祥、郓城、金乡4县。元至元八年(1271年) ,济州升为济宁府,至元十六年(1279年),又升为济宁路。自此以后,境内或为府、州,或为区、市,一直是历代地方二级政权机关驻地,其行政区划如下。元时,至元十六年(1279年),境内置济宁路,治任城,领辖3州7县,即:济州、单州、兖州,任城、巨野、郓城、肥城、金乡、砀山、丰县。明时,洪武元年(1368年) 改济宁路为府,仍治任城,领辖3州12县。即:兖州、东平州、沂州,任城、金乡、巨野、郓城、嘉祥、曹、单、定陶、成武、鱼台、滕、峄县。洪武十八年(1385年)改济宁府为州,只领3县。即:嘉祥、巨野、郓城。清时,雍正二年(1724年)济宁州升为直隶州,仍领3县,即嘉祥、巨野、郓城。 乾隆四十一年(1776年),济宁直隶州领3县。即:嘉祥、鱼台、汶上。乾隆五十四年(1789年),济宁直隶州领3县。即:嘉祥、鱼台、金乡。中华民国时, 1914年6月境内置济宁道,领辖25县。即:济宁、滋阳、曲阜、宁阳、邹、滕、泗水、汶上、峄、金乡、嘉祥、鱼台、兰山(后改名为临沂)、郯城、费、蒙阳、营、沂水、菏泽、曹、单、成武、定陶、巨野、郓城县。
1933年,境内置山东省第一行政督察专员公署,领辖11县。即:济宁、滋阳、汶上、宁阳、曲阜、邹、滕、东平、嘉祥、金乡、鱼台县。
1935年7月, 又改为济宁实验区长官公署,领辖14县。即:济宁、嘉祥、巨野、郓城、寿张、鄄城、定陶、成武、曹、单、金乡、鱼台、东平、汶上县。
1935年冬,再改为山东省第一区行政督察专员公署,领辖10县。即:济宁、滋阳、东平、汶上、邹、滕、宁阳、曲阜、嘉祥、鱼台县。
1946年9月,境内设山东省第二行政督察专员公署,领辖7县。即:济宁、嘉祥、郓城、巨野、寿张、东平、汶上县。
中华人民共和国建立后, 1953年7月,滕县专署和湖西专署合并为济宁专署,专署驻地为济宁市。领辖济宁市、济宁县、滋阳县、曲阜县、邹县、凫山县、滕县、峄县、薛城县、微山县、鱼台县、金乡县、嘉祥县、汶上县。
1956年2月, 泰安专区的泗水县划归济宁专区。同时,境内的区划也作了调整,撤销了鱼台县并入金乡县;撤销了凫山县、薛城县。这时的济宁专署领辖济宁市、济宁县、滋阳县、曲阜县、泗水县、邹县、滕县、峄县、微山县、金乡县、嘉祥县、汶上县。
1958年12月,经国务院批准撤销菏泽专署,原属各县划归济宁专署;撤销济宁县,分别划归济宁市和郓城、巨野、金乡县;撤销滋阳县,划归曲阜县。这时的济宁专署领辖济宁市、曲阜县、泗水县、邹县、滕县、峄县、微山县、金乡县、汶上县、菏泽县、曹县、单县、成武县、鄄城县、巨野县、郓城县、梁山县。
1959年7月, 菏泽专署恢复,济宁专署领辖济宁市、曲阜县、泗水县、邹县、滕县、峄县、微山县、金乡县、汶上县。
1960年1月, 峄县撤销,划归新建的枣庄市。这时的济宁专署领辖济宁市、枣庄市、曲阜县、泗水县、邹县、滕县、微山县、金乡县、汶上县。
1961年9月, 枣庄市从济宁专区析出。10月,恢复嘉祥县;撤销滋阳县,新设兖州县。至此,济宁专署尚辖济宁市,兖州县、曲阜县、泗水县、邹县、滕县、微山县、金乡县、嘉祥县、汶上县。
1964年7月,恢复鱼台县;1965年4月,恢复济宁县;皆归属济宁专区。1967年,济宁专区改称济宁地区。 1978年11月,滕县划归枣庄市。这时的济宁地区尚有1市10县。即:济宁市,兖州县、曲阜县、泗水县、邹县、金乡县、嘉祥县、鱼台县、汶上县、微山县、济宁县。
1983年8月30日, 经国务院批准,撤销济宁地区,济宁市升格为省辖地级市。原济宁地区的汶上县、 泗水县划归泰安地区。10月5日,经山东省人民政府批准,设立济宁市中区,以原济宁市区域为辖区;设立济宁市郊区,以原济宁县区域为辖区。调整后,济宁市人民政府领辖2区7县,即市中区、市郊区,兖州县、曲阜县、邹县、微山县、鱼台县、金乡县、嘉祥县。
1985年3月,汶上县、泗水县重新划归济宁市。1986年6月,曲阜县改建为曲阜市,由济宁市代管。1989年12月,原菏泽地区的梁山县划归济宁市。1992年兖州县、邹县分别撤县设市。1993年 12月市郊区改名为任城区。现济宁市辖二区三市七县,即市中区、任城区、曲阜市、兖州市、邹城市、微山县、鱼台县、金乡县、嘉祥县、汶上县、泗水县、梁山县。
济宁与以下城市面积相近: