先秦,距今约12.9万年以前,岭南出现了早期古人(马坝人)。茂名在先秦时期属南越(境内高州一带属西瓯)。商与西周时代,广东先民便与中原商、周王朝有了经济文化往来。秦汉,公元前214年,秦平定岭南后。随即,秦始皇将所夺取的岭南地区,设“桂林、象、南海”3个郡。南海郡包括今粤东、粤北、粤中和粤西的一部分,辖番禺、龙川、博罗、四会4个县,郡治番禺。今广东省的大部分地区属南海郡。此外,湛江等地属象郡,粤西有一部分属桂林郡。茂名秦朝时分属象郡和南海郡。东汉时属交州。隋唐,隋朝开皇18年(公元598),先用潘茂名其名命名茂名县,唐太宗贞观18年(公元644年)又把南宕州以潘茂名的姓命名潘州。中国以道士之姓设州,以名设县,唯有潘茂名一个。唐初属高州,贞观八年(634年)分置潘州治茂名,二十二年(648年)又陡置高州始治高凉移治良德。天宝初(742年)改高州曰高凉郡,潘州曰南潘郡。五代十国,五代属南汉。宋开宝五年(972年)省潘州入高州仍曰高凉郡,属广南西路。景德元年(1004年)州废属窦州,三年(1006年)复置。元明清,元至元十五年(1278年)置高州路安抚司。十九年(1282年)改总管府属湖广行中书省。明曰高州府属广东布政使司。清朝高州府因之,属广东省,领州一(化州)县五(茂名、电白、信宜、吴川、石城)。中华民国,废高州府,茂名县先后属高雷绥靖处督办、南路行署第七专区所治。中华人民共和国,茂名县先后属南路、高雷、粤西、湛江专区(行政区)所辖。1958年5月12日,成立茂名市政筹备处,同年5月23日改为茂名工矿区城市筹备处,同年8月26日成立茂名工矿区市,以后陆续将茂名县卫星公社全部和火箭公社大部(今金塘、公馆、新坡、高山、镇盛、鳌头、袂花)等7个镇,茂南城郊经济开发试验区和河东、河西、红旗、新华、露天矿、官渡、站前等7个街道办事处划归茂名工矿区市;火箭公社的小良(旧作“肇梁”,小良镇)划给电白县,火箭公社的兰石、龙首、高栈和超英公社的南盛(今化州市南盛街道局部,本自然段同)等划给化县。1959年3月22日, 国务院决定设立茂名市(县级)。1961年化州、吴川分县后,兰石、龙首、高栈等划给吴川县,南盛划给化州县。原属茂名县的其余地区和原信宜县的古丁、马贵、深镇为高州县(茂名县先与信宜县合并,之后才分为高州县、信宜县)。1975年升格为地级市,1983年实行市管县体制,辖电白、高州、信宜、化州四县。1985年,成立茂名市茂南区(茂南,因地处原茂名县之南而得名)。1987年,根据群众的要求和上级批准,将分界公社的山阁、烧酒、霞池、黄杰、禄村、合益、金塘岭、福居等八个大队划归茂名市茂南区,成立山阁公社,现为茂名市茂南区山阁镇。1992年10月在原电白县南海镇的基础上,经省人民政府批准正式设立茂名市水东经济开发试验区。1993年至1995年三年中,高州、化州、信宜三县先后撤县建市,三市皆为县级市,由茂名市代管。2001年1月,以茂名市水东经济开发试验区为基础,从电白县划出羊角、坡心、七迳、沙院、小良五镇连同南海镇,经国务院批准设置茂港区。2002年8月,经省民政厅批准,同意茂港区撤消南海镇,设立南海、高地两个街道办事处。2002年,茂名市辖2个市辖区、1个县,代管3个县级市,18个街道、102个镇。2005年,茂名市辖2个市辖区、1个县,代管3个县级市,20个街道、87个镇。2014年,国务院批准同意广东省调整茂名市部分行政区划,撤销茂港区和电白县合并设立电白区。至此,茂名市辖茂南、电白两区,代管高州、信宜、化州三个县级市。2017年1月20日,国务院正式发布《关于北部湾城市群发展规划的批复(国函〔2017〕6号)》,茂名成为北部湾城市群规划重要节点城市。