В 1999 году перешёл в киевское «Динамо», возглавляемое Валерием Васильевичем Лобановским, где провёл последующие десять лет. Дважды становился лучшим бомбардиром украинского чемпионата: в сезоне 1999/00 с 20 голами и в сезоне 2002/03 с 22 голами (тем самым повторив рекорд Сергея Реброва, который забил 22 гола в сезоне 1997/98 также в составе ФК «Динамо» Киев). 28 июля 1999 года Шацких провёл свой дебютный гол в Лиге чемпионов УЕФА в матче против «Жальгириса» из Вильнюса. Тем самым он стал первым футболистом из Азии, забившим гол в Лиге чемпионов УЕФА и вторым узбекским после Мирджалола Касымова, забившим гол в турнирах под эгидой УЕФА. Всего за 9 сезонов в ЛЧ Шацких забил 11 голов.
В составе «Динамо» в высшей лиге Украины провёл 215 матчей, забил 97 мячей. В матче последнего тура чемпионата Украины 2008-09 26 мая 2009 года между «Динамо» и донецким «Шахтёром» на стадионе «Динамо» им. В. В. Лобановского болельщики киевлян вывесили несколько плакатов со словами благодарности и огромный баннер с фотографией нападающего в костюме лётчика и надписью «Истребитель МАХ 16. 328 боевых вылетов, 142 сбитых», устроив тем самым красочные проводы форварду[6][7][8]. Однако в том матче тренер киевлян Юрий Сёмин не выпустил Максима на поле[9].
В Кубке Украины провёл 36 матчей, забил 22 мяча. В еврокубках сыграл 73 матча, забил 23 мяча.
«Арсенал» (Киев)
По окончании контракта с «Динамо» перешёл в киевский «Арсенал». В составе «Арсенала» в премьер-лиге чемпионата Украины провёл 93 матча, забил 22 мяча.
4 апреля 2010 года в матче «Арсенал» (Киев) — «Металлург» (Запорожье) (2:0) забил свой 100-й гол в чемпионате Украины по футболу, для чего ему понадобилось 222 матча.
15 августа 2010 года в матче «Арсенал» Киев — «Волынь» Луцк (1:1), забив на 71-й минуте гол в ворота «Волыни», установил рекорд чемпионатов Украины — первым забил 100 мячей с игры.
В Симферополе, 11 сентября 2010 года («Таврия» — «Арсенал», 0:1), Максим Шацких провёл 500-й официальный матч в своей профессиональной карьере (матчи за клубы в чемпионатах, кубках, еврокубках и за сборную Узбекистана), забив при этом 217 мячей.
Матч «Арсенал» — «Ильичёвец» (3:1), состоявшийся 20 марта 2011 года, стал для Максима Шацких юбилейным 250-м матчем, сыгранным в высшей премьер-лиге чемпионатов Украины. В этой игре на 43 минуте Шацких отметился голом в ворота соперника, который стал 109-м голом Максима в чемпионатах Украины.
«Черноморец»
14 января 2013 года перешёл в одесский «Черноморец», подписав контракт на 2,5 года[10][11].
16 марта 2013 года дебютировал за «Черноморец» в матче против клуба «Шахтер» (Донецк). 1 июня 2013 года по обоюдному согласию расторг контракт с ФК «Черноморец»[12]. После этого игрок вернулся в киевский «Арсенал»[13].
«Говерла»
30 декабря 2013 года Шацких подписал контракт на 2,5 года с «Говерлой» Ужгород.[14] 27 июля 2014 года в матче украинской премьер-лиги 2013-14 Говерла — Карпаты Львов, закончившийся ничьей 2:2, он провёл первый гол своей команды и довёл общее количество своих голов в украинской премьер-лиги до 122 голов.[15] 2 августа 2014 года в гостевом матче против Металлурга Шацких провёл свой 123-й гол и сравнялся по голам с Сергеем Ребровым.[16] 4 октября 2014 стал лучшим бомбардиром в истории чемпионата Украины, забив свой 124-й гол в рамках украинского первенства[17].
В 2003 году Шацких был признан третьим, а в 2005 году — вторым игроком Азии[19][20][21][22]. Считается одним из лучших футболистов Узбекистана.
Полуфиналист Кубка Азии 2011 в составе сборной Узбекистана. 15 октября 2008 года забил свой 30-й гол за сборную в матче отборочного турнира чемпионата мира 2010 против сборной Японии, обойдя Мирджалола Касымова (29 голов) в списке лучших бомбардиров в истории сборной Узбекистана. 29 мая 2014 года Максим провёл свой последний и прощальный матч за сборную Узбекистана в товарищеской игре против сборной Омана в Ташкенте. Матч закончился поражением 0:1 сборной Узбекистана.[23] Всего за сборную Узбекистана провёл 61 матч, забив 34 мяча.
Тренерская карьера
«Динамо» Киев (ДЮФШ)
В 2016 году Шацких стал тренером академии «Динамо» (Киев) — «ДЮФШ „Динамо“ им. В. В. Лобановского». Проработал там 1 год.
«Динамо» (Киев)
2 июня 2017 года главным тренером киевского «Динамо» стал Александр Хацкевич. Белорусский специалист включил Шацких в список своих ассистентов.
В марте 2021 года Хацкевич был отправлен в отставку с формулировкой «Чтобы решить задачу на сезон»[25]. Вместе с ним покинул команду и Максим Шацких. После 23 туров Премьер Лиги команда занимала 13-е место. До зоны прямого вылета было 4 очка. По итогам сезона «Ротор» не сохранил место в Премьер Лиге.
«Пахтакор» (Ташкент)
2 июня 2022 года Максим Шацких был назначен спортивным директором ташкентского «Пахтакора»[26].
16 июля назначен главным тренером клуба[27]. Специалист подписал с «Пахтакором» контракт на три года. В его тренерский штаб вошли Вячеслав Беляев и Виталий Шпанюк.
Под руководством Максима Шацких ташкентский «Пахтакор» по итогам сезона стал чемпионом Узбекистана.
Клуб бомбардиров имени Олега Блохина
В апреле 2012 года Максим Шацких включён в состав членов символического Клуба украинских бомбардиров имени Олега Блохина, как футболист, забивший в составе украинских команд 100 и более мячей. На счету Шацких в составе украинских клубов — 171 забитый мяч[15].
Клуб бомбардиров-легионеров имени Максима Шацких
В июле 2010 года по инициативе спортивного журналиста Виктора Хохлюка и с согласия самого футболиста был основан Клуб бомбардиров для иностранных футболистов выступающих в украинских командах, названный в честь футболиста Клуб Максима Шацких[28][29].
↑Виктор Хохлюк: «Шацких, Бакаев и Геворкян в числе лучших бомбардиров из бывшего Союза» статья в еженедельнике «Интерфутбол». — Ташкент. — № 23 (491), стр. 10—11. июнь 2018 год