公元前21世纪至公元前16世纪,东莞地属中华九州之扬州南境。虎门境内已有古人类定居,从事渔猎生产。秦始皇统一中原后,于始皇三十三年(公元前214年)在岭南设置桂林、象、南海三郡,虎门属南海郡番禺县。秦二世元年(公元前209年),赵佗称南越王,虎门属南越国。至西汉元鼎六年(公元前111年),虎门从东莞属南海郡。东汉顺帝时,一度从东莞属增城。
东晋咸和六年(331年),分南海郡立东官(莞)郡,虎门属其所辖的宝安县。
隋开皇十年(590年)废郡置州,从东莞属广州。
唐至德二年(757年)九月,宝安县更名为东莞,移县治于到涌(今莞城)。其后,虎门一直隶属于东莞。北
宋开宝五年(972年)废东莞县,其行政区域并入增城县。开宝七年(974年),恢复设置东莞县,虎门仍属之。
北宋大观元年(1107年)又随东莞属广州府。宋代于县下设乡,今虎门所辖区域属归城乡。元代设广州总管府,虎门从东莞属之。
明洪武元年(1368年)改元制称广州府,行政区域沿宋制,以乡统都,虎门镇现辖区域分别隶属于东莞县归城乡第七、八、九都。明洪武三年(1370年)改京山、中堂、白沙三寨为巡检司。翌年,再立缺口司,虎门属缺口司管辖。清乾隆年间,把各村镇划为司、乡、都、图、坊五属管辖,虎门为缺口司所属直至
。
民国初期,东莞县建立区、乡制,虎门所属区曾分别称八区、五区、三区。
民国十三年(1924年),太平改墟立镇,次年又改称虎门市。随后,虎门所属区改称十一区。
民国二十七年(1938年)10月,日军侵占虎门,民国政权瘫痪。
民国二十九年(1940年)5月,东莞县政府重立,虎门划属第五区公署。抗日战争胜利后,仍属第五区直至中华人民共和国成立。
1949年10月,东莞全境解放,今虎门所属地域中的太平设置为东莞县辖市,其他地域则隶属东莞县第六区。
1950年5月,太平市改设为太平镇,直属东莞县至1958年虎门人民公社成立。
1953年初,土改复查,东莞全县划分为15个区。原东莞县第六区所辖怀德、树田2个乡划属第九区,小虎乡划入第十一区,余下镇洲、赤龙、博涌、北宁、南北面、虎洲、南栅、基宁、白沙等9个乡设置为第十区。同年,第九区并入第十区。
1954年6月30日,东莞县第十区的塘郎、杨屋2个乡划属东莞县第三区(后改称寮步区),基宁、镇州、南北面等3个乡划属新成立的东莞县第十一区(后改称沙田区)。
1955年9月,东莞县所辖农村行政区名称,由按数字排序称谓,改为以区公所驻地地名命名,原东莞县第十区改称虎门区。
1957年3月,东莞实行撤区并乡,撤销区建制,合并成立大乡。虎门区撤销,其辖区各小乡合并成立虎门、北栅、沙头(后改称长安)3个大乡。沙田区撤销,其所辖基宁小乡划属沙头乡,立沙划属彰澎乡,其余地域归属虎门大乡。
1958年9月20日,东莞县废除大乡,成立“政社合一”的人民公社,虎门、北栅、长安3个大乡及太平镇合并成立虎门人民公社。
1959年5月30日,太平镇由虎门人民公社分出,成立太平镇人民公社。同年8月28日分设成立长安人民公社。
1960年5月,长安人民公社重新并入虎门人民公社;1961年7月再从虎门人民公社分出。
1960年4月至1961年6月,将沙田、新沙、大洲等片区划属厚街人民公社(上述片区与立沙片区于1961年6月21日分出独立沙田人民公社)。
1974年4月11日,莞城、石龙、太平等3个渔业人民公社合并,成立新湾渔业人民公社。
1980年6月,太平镇人民公社改设为太平镇,成立太平镇人民政府。
1983年10月,废除人民公社体制,成立虎门区公所和新湾区公所,为县政府派出机构,分别管辖原虎门人民公社和新湾渔业人民公社属域。同时将原虎门人民公社所属阿娘鞋岛(威远岛)之南面、北面、九门寨、武山沙4个生产大队划归太平镇辖。
1985年9月,东莞撤县设市(县级市),虎门镇所属区域仍属东莞市辖。同年10月4日,经广东省人民政府批准,成立虎门镇,原太平镇和虎门区所辖行政区域均划归虎门镇,实行镇管村体制。原太平镇政府驻地改称太平港,为虎门镇人民政府所在地。
1986年11月8日,撤销新湾区,设立新湾镇。
1988年1月7日,经国务院批准,东莞升格为地级市,虎门镇仍直隶东莞市辖。
1998年7月8日,经广东省人民政府批准,撤销新湾镇建制,其所属先锋、红锋管理区分别划属沙田镇、中堂镇,其余港湾、向东等10个管理区和新湾居委会划归虎门镇管辖。