1949年5月分设百官乡、路东乡、曹娥乡、王公乡、后郭乡。
1950年王公乡、后郭乡分为河东、河西、后郭三乡,增设丰桥乡、蒋桥乡。
1952年百官乡改成百官镇。
1954年起为上虞县人民政府驻地。
1956年路东乡并入百官镇。
1958年百官镇、曹娥乡合并为百官公社城镇管理区,原丰桥乡、蒋桥乡区域分别改设百官公社丰桥、蒋桥管理区,娥江乡改设百官公社娥江管理区。
1959年恢复百官镇。
1962年百官镇、百官公社合并成立百官镇人民公社。
1981年重设百官镇。
1992年4月路东、南湖、娥江、中塘4乡并入百官镇;2001年设立百官街道办事处至今。