Der Name der Siedlung Mga leitet sich von den Initialen der Grundbesitzerin Marija Grigorjewna Apraksina ab, die im 19. Jahrhundert im Besitz des Landstriches war, auf dem während des Baus einer Eisenbahnstrecke im Jahre 1901 eine Arbeitersiedlung (rabotschi possjolok) entstand. Eine gewisse Bedeutung erlangte der kleine Ort danach als Eisenbahnknotenpunkt. In den Jahren von 1917 bis 1940 wuchs die Einwohnerzahl von etwa 200 auf 3000. Mga wurde 1927 der Verwaltungssitz des Rajons.
Während des Deutsch-Sowjetischen Krieges (1941–1945) wurde die Siedlung am 30. August 1941 durch deutsche Truppen besetzt. 1943 war sie Ziel sowjetischer Offensiven: im Februar/März während der Operation Polarstern und im Sommer während der Dritten Ladoga-Schlacht, in der sowjetischen Historiographie auch Mgaer Operation (Мгинская операция) genannt. Beide Male konnte die Rote Armee Mga nicht erobern. Erst im Rahmen der sowjetischen Leningrad-Nowgoroder Operation zogen die Wehrmachtverbände am 21. Januar 1944 nach zweieinhalb Jahren aus dem fast völlig zerstörten Ort ab.
Im Jahre 2007 beschloss das Verteidigungsministerium, Mga zum Standort eines Bataillons der Russischen Streitkräfte zu machen, nachdem bereits 1998 eine Abteilung Eisenbahntruppen aus Sankt Petersburg hierher verlegt worden war. Heute ist in der Kaserne das 90. Spezial-Such-Bataillon stationiert, dessen Aufgabe die Suche nach Gebeinen von Gefallenen des 2. Weltkrieges ist.
↑ abItogi Vserossijskoj perepisi naselenija 2010 goda. Tom 1. Čislennostʹ i razmeščenie naselenija (Ergebnisse der allrussischen Volkszählung 2010. Band 1. Anzahl und Verteilung der Bevölkerung). Tabellen 5, S. 12–209; 11, S. 312–979 (Download von der Website des Föderalen Dienstes für staatliche Statistik der Russischen Föderation)