Михаил Захарченко родился 13 ноября 1910 года в селе Ялыновка Александрийского района Кировоградской области, Украина. Вырос в крестьянской семье. Член КПСС с 1942 года. После учёбы в средней школе окончил сельскохозяйственную профшколу.
В 1928 году призван в ряды Красной Армии. В 1930 году окончил Качинскую военную авиационную школу лётчиков. Служил в частях ВВС. На фронтах Великой Отечественной войны с июня 1941 года. Воевал на Ленинградском фронте.
Командир 175-го штурмового авиационного полка 305-й штурмовой авиационной дивизии 9-го штурмового авиационного корпуса 15-й воздушной армии Ленинградского фронта подполковник Михаил Дмитриевич 3ахарченко к концу войны совершил 64 боевых вылета. На счету его полка более 5300 боевых вылетов, при этом было уничтожено и выведено из строя 91 самолёт, много танков, орудий и другой боевой техники и живой силы противника.
Указом Президиума Верховного Совета СССР от 18 августа 1945 года за умелое командование полком, героизм и отвагу, проявленные при выполнении боевых заданий подполковнику Михаилу Дмитриевичу Захарченко присвоено звание Героя Советского Союзас вручением ордена Ленина и медали "Золотая Звезда".
После войны продолжал службу в ВВС. В 1951 году окончил Военно-воздушную академию и с июля того же года проходил службу на Сахалине командиром 52-й бомбардировочной авиационной дивизии 76-го бомбардировочного авиационного корпуса 29-й воздушной армии.
Генерал-майор авиации в отставке. Награжден двумя орденами Ленина, двумя орденами Красного Знамени, орденом Александра Невского, двумя орденами Отечественной войны 1-й степени, тремя орденами Красной Звезды и медалями.
Скончался 24 апреля 1983 года. Похоронен в Киеве на Байковом кладбище.