1940年由莒縣析置,因在莒縣之南,故名。
1994年9月7日,撤銷山鄉、朱蘆鄉、洙邊鄉、相邸鄉、王家溝鄉,設立山鎮、朱蘆鎮、洙邊鎮、相邸鎮、王家溝鎮。1994年11月14日,撤銷坊前鄉,設立坊前鎮。1996年初,莒南縣面積1752平方千米,人口約92萬人。轄12個鎮、13個鄉:十字路鎮、大店鎮、文疃鎮、北園鎮、汀水鎮、壯崗鎮、朱蘆鎮、坊前鎮、坪上鎮、板泉鎮、洙邊鎮、相邸鎮、厲家寨鄉、石蓮子鄉、劉家莊鄉、團林鄉、官坊鄉、嶺泉鄉、陡山鄉、相溝鄉、柳溝鄉、澇坡鄉、道口鄉、筵賓鄉、演馬鄉。縣政府駐十字路鎮。
1996年8月12日,撤銷筵賓鄉、團林鄉、嶺泉鄉,設立筵賓鎮、團林鎮、嶺泉鎮(魯政函民字[1996]40號)。1996年12月25日,撤銷石蓮子鄉,設立石蓮子鎮(魯政函民字[1996]56號)。1998年4月13日,撤銷澇坡鄉,設立澇坡鎮(魯政函民字[1998]13號)。至此,莒南縣轄17個鎮、8個鄉。
2000年第五次人口普查,莒南縣常住總人口964591人,其中:十字路鎮120044人,團林鎮40803人,大店鎮47735人,坊前鎮47508人,坪上鎮39918人,相邸鎮34753人,板泉鎮42265人,洙邊鎮44689人,文疃鎮39296人,壯崗鎮31503人,汀水鎮25930人,石蓮子鎮43036人,嶺泉鎮44474人,筵賓鎮46144人,北園鎮30226人,澇坡鎮33152人,朱蘆鎮36129人,道口鄉35206人,陡山鄉28872人,柳溝鄉22596人,厲家寨鄉20421人,演馬鄉20108人,相溝鄉28810人,官坊鄉31116人,劉家莊鄉29857人。
2000年末年,莒南縣由17個鎮、8個鄉調整為16個鎮、2個鄉:十字路鎮(北園鎮、官坊鄉部分)、大店鎮(陡山鄉部分)、坪上鎮(歷家寨鄉)、板泉鎮(劉家莊鄉)、朱蘆鎮、坊前鎮(柳溝鄉部分)、相邸鎮、洙邊鎮(演馬鄉部分)、石蓮子鎮、團林鎮、澇坡鎮(陡山鄉部分、柳溝鄉部分)、道口鄉、相溝鄉(官坊鄉部分)、文疃鎮、嶺泉鎮、筵賓鎮、壯崗鎮(演馬鄉部分)、汀水鎮。(括號內的為被撤并的鄉鎮)
2002年末,莒南縣轄16個鎮、2個鄉:十字路鎮、團林鎮、大店鎮、坊前鎮、坪上鎮、相邸鎮、板泉鎮、洙邊鎮、文疃鎮、壯崗鎮、汀水鎮、石蓮子鎮、嶺泉鎮、筵賓鎮、澇坡鎮、朱蘆鎮、道口鄉、相溝鄉。
2009年9月21日,經省政府批準,莒南縣調整部分行政區劃:撤銷十字路鎮,設立十字路街道,辦事處機關駐原十字路鎮政府駐地。調整后,全縣轄1個街道、15個鎮、2個鄉:十字路街道、團林鎮、大店鎮、坊前鎮、坪上鎮、相邸鎮、板泉鎮、洙邊鎮、文疃鎮、壯崗鎮、汀水鎮、石蓮子鎮、嶺泉鎮、筵賓鎮、澇坡鎮、朱蘆鎮、道口鄉、相溝鄉。共有937個行政村。
2010年第六次人口普查,莒南縣常住總人口886376人,其中:十字路街185211人,團林鎮37258人,大店鎮66830人,坊前鎮37982人,坪上鎮55658人,相邸鎮30602人,板泉鎮68308人,洙邊鎮45088人,文疃鎮35991人,壯崗鎮37575人,汀水鎮22388人,石蓮子鎮38273人,嶺泉鎮36277人,筵賓鎮42098人,澇坡鎮48504人,朱蘆鎮30679人,道口鄉31381人,相溝鄉36273人。
2011年11月,撤銷汀水鎮,并入石蓮子鎮;撤銷相邸鎮,并入坊前鎮。2012年,撤銷道口鄉,設立道口鎮。2013年,撤銷相溝鄉,設立相溝鎮(魯政函民字[2013]56號)。調整后,莒南縣轄1個街道、15個鎮:十字路街道、團林鎮、大店鎮、坊前鎮、坪上鎮、板泉鎮、洙邊鎮、文疃鎮、壯崗鎮、石蓮子鎮、嶺泉鎮、筵賓鎮、澇坡鎮、朱蘆鎮、道口鎮、相溝鎮。縣政府駐十字路街道。