Происходил из шотландской фамилии якобитов, переселившейся во Францию после Славной революции.
Отличился в сражении при Жемаппе (6 ноября 1792); в 1798 году командовал французскими войсками в Риме и Церковной области; в 1799 году, проиграв сражение на реке Треббии (см. Итальянский поход Суворова), был отозван в Париж.
В 1800 и 1801 годах Макдональд начальствовал в Швейцарии и Граубюндене, откуда вытеснил австрийцев.
В течение нескольких лет он находился под опалой Наполеона вследствие усердия, с которым защищал своего бывшего соратника, генерала Моро. Только в 1809 году он был вновь призван на службу в Италию, где командовал корпусом. За сражение при Ваграме пожалован маршалом.
В войнах 1810, 1811 (в Испании), 1812—1814 гг. он также принимал выдающееся участие.
Во время вторжения Наполеона в Россию командовал X прусско-французским корпусом, который прикрывал левый фланг Великой армии. Заняв Курляндию, Макдональд всю кампанию простоял под Ригой и присоединился к остаткам наполеоновской армии во время её отступления.
После отречения Наполеона он был назначен пэром Франции; во время Ста дней удалился в свои поместья, чтобы не нарушать присягу и не противодействовать Наполеону.
После второго занятия Парижа союзными войсками на Макдональда возложено было тяжкое поручение — распустить отступившую за Луару наполеоновскую армию.