Михайло Шестаков народився 12 квітня 1990 року у Ладижині (Вінницька область). Вихованець ладижинської ДЮСШ. До 23-річнного віку виступав у складі таких аматорських команд, як «Авангард-Енергія» (Ладижин), «СКАД-Ялпуг» (Болград), "Совіньон" (Таїрове).
У 2013 році підписав свій перший професійний контракт із ФК «Реал-Фарма» (Одеса), який виступав у Другій українській лізі. Захищав кольори команди упродовж трьох років (55 матчів - 8 голів).
У сезоні 2016/2017 перше коло провів в «Балканах» із Зорі, а в другому поповнив ряди одеської «Жемчужини», з якою виграв чемпіонат Другої ліги та підвищився у класі. У дебютному для себе чемпіонаті в 1 Лізі провів за одеситів 26 матчів і відзначився сімома забитими м'ячами.
У 2018 році перейшов до друголігової «Ниви» (Вінниця). Перше коло нападник провів за вінничан, а після зимової паузи прийняв пропозицію рівненського «Вереса», за який виступає до нинішнього часу. З липня 2019 року - капітан команди.