至商代,境内置厥国。周代,先后置郕国,中都邑、阚邑,周武王封同母弟叔武于郕,公元前501年,鲁“定公以孔子为中都宰“。战国时,齐置平陆邑。
秦统一中国,行郡县制,县境内约分属薛郡的张县(治邑在今东平县霍庄)、无盐县(治邑在今东平县无盐村)。
汉宣帝甘露二年(前52年)前后,境内始置东平陆县,隶属兖州东平国。此为汶上建县之始。
三国魏晋,今县境统属兖州东平国(郡)东平陆县。南朝时改称平陆县、乐平县。隋初仍称平陆县。
唐天宝元年(742)三月,改称中都县,移县城于今治。
金贞元元年(1153年)更名汶阳县。金泰和八年(1208年),取”汶水在上(北)”之意,更名汶上县,此为“汶上”专用地名之始,沿用至今。
明万历年间,汶上境域,北至东平界沙河站张村,东至宁阳县界西梳村,南至济宁州界康庄驿,西至郓城县界肖皮口,西北至安山西面的张博士集(今属梁山县),西南至孟姑集以西申家海(今属嘉祥县),东南至南唐阳,东北至琵琶山。最大横距75公里,最大纵距35公里。此县界明清时稳定时间较长,境域也较大,约为今县境的2.5倍。
民国时期,汶上县面积1380平方公里,为山东省较大县之一,曾有“一滕二曹三汶上”之说。