善友镇,隶属于吉林省松原市宁江区,地处宁江区东部,距宁江区人民政府所在地10千米;东与扶余市永平乡接壤,南与哈达山镇相连,西隔松花江与前郭尔罗斯蒙古族自治县前郭尔罗斯镇相望,北与新城乡、大洼镇交界。行政区域总面积105.78平方千米。
1960年,析永平公社置善友公社;2001年,善友乡改善友镇。截至2018年末,善友镇有户籍人口22071人。截至2020年6月,善友镇下辖11个行政村。
2011年,善友镇财政总收入3.52亿元,人均财政收入7810元。