В 1655-1661 служил в шведской и польской армиях, в 1661 перешел на русскую службу, участвовал в Чигиринских походах (1676-1678) и Крымских походах (1687, 1689). В 1689 командовал Бутырским полком, поддержал Петра I и способствовал его победе над царевной Софьей Алексеевной. Он был одним из первых иностранных учителей и вдохновителей Петра I на создание регулярной армии. Гордон руководил осадными работами в Азовских походах (1695-1696), участвовал в подавлении Стрелецкого восстания в Москве (1698).
Оставил дневник в трех томах на английском языке, который в 1849-1852 был переведен на немецкий язык.