民国初置虎城镇。
民国十七年(1928年),川东第一块赤区——虎(城)南(达县南岳乡)大(达县大树乡)赤区在这里建立。
梁山(今梁平县)中心县委机关最早设在虎城镇沙石村水井湾,辖达县、开江、大竹、宣汉、万源等县。
四川红军第三路游击队也诞生于此地。
民国三十年(1941年),改虎城乡。
1958年改公社。
1983年复置乡。
1992年建镇。
1997年,面积78平方千米,辖集中、礼仁、五角、上丰、铜坝、聂家、双坪、龙潭、永和、八里、高桥、青滩、李垭、桐子、波漩、陈家、水口、铜鼓、官桥、亲睦、柳坪、八林、楚家、千丘、大荣、长沙、河口、碑垭、沙石29个行政村和虎城街1个街道社区。