秦置嬴县(治所在城子县村),属济北郡。
西汉增置牟县(治所在赵家泉村),又于牟县东北置莱芜县,因治所设在淄水流域的莱芜谷(旧说昔齐灵公灭莱,莱人播流此谷,邑落芜没,故曰莱芜),故名莱芜,故址在淄川东南21.5千米的口头乡城子庄。嬴、牟、莱芜三县同属于泰山郡。
北魏时嬴县治所向东迁移至南文字村。同时撤销设在淄川的莱芜县,其区域北部划入设在淄川的贝丘县,南部分别划入嬴县与牟县。
北齐天保七年(556年),撤销牟县,并入博平县。
隋代开皇十六年(596年),复置牟城县,大业(605-618)初年又并入嬴县。唐贞观元年(627年)撤销
嬴县,并入博平县。
唐长安四年(704年),于北魏嬴县故城(南文字村)复置莱芜县。从此,莱芜县治所开始设在莱芜市境内。
元和十五年(820年)又将莱芜县并入乾封县,太和元年(827年)复置莱芜县,治所仍在南文字村,属兖州鲁郡。宋初属兖州鲁郡,继属袭庆府鲁郡。
金代,废除设在莱城的主管冶炼的莱芜监,于大定十二年(1172年)将设在南文字村的莱芜县南迁至莱芜监旧址,属泰安州。
清代属泰安州。
1915年属济南道。
1925年属泰安道。
1928年直属山东省。
1941年,抗日民主政权将莱芜与博山、沂源、新泰的少部分地区合并划为莱芜、莱东、莱南三县,抗战胜利后恢复原貌。
1983年8月,经国务院批准,撤销莱芜县,改设省辖县级市,由泰安市代管。
1990年将新泰市的寨子乡、沂源县的黄庄镇划归莱芜市管辖。
1992年11月,经国务院批准,莱芜市由县级市升为地级市,辖莱城、钢城两个区,30个乡镇、办事处。