莘庄镇是上海市闵行区辖镇,所以莘庄镇属于上海市闵行区。
1956年,莘庄境域属上海市西郊区。
1958年,江苏省上海县划归上海市后并入,同年9月,莘庄境域属七一人民公社二大队、三大队。
1961年9月,二大队、三大队析出,成立莘庄公社。
1966年5月,划出莘庄镇,为县属镇。
1984年3月,政社分设,建立莘庄乡。
1993年3月,撤销莘庄镇和莘庄乡建制,建立新的莘庄镇,属闵行区管辖。
莘庄镇地处闵行区境中西部,东与梅陇镇相邻,南与颛桥镇交界,西与上海松江区相连,北与七宝镇接壤。镇人民政府驻地为闵行区人民政府驻地,距上海市政府19千米。
莘庄镇地处长江三角洲冲积平原东端,地势平坦。东南向西北微倾斜,70%的土地高程在3.5至4.5米之间。
莘庄镇属亚热带季风气候,具有明显的季风气候特点。多年平均气温15.7℃,1月平均气温3.1℃,7、8月平均气温27.8℃。年平均降水量114.7毫米,年平均降水日数为133.6天。