Opalińscy wysłali go do Hamburga, gdzie w 1655 zaciągnął się do armii króla Szwecji Karola X Gustawa, przygotowującego właśnie inwazję na Polskę, tzw. potop szwedzki.
Czasy potopu szwedzkiego Karierę wojskową Gordon zaczął jako kawalerzysta w armii Arvida Wittenberga, która wkroczyła do Polski w lipcu 1655. Gordon wziął udział w bitwach pod Ujściem, Żarnowem i w oblężeniu Krakowa. W grudniu 1655 dostał się w Rymanowie do polskiej niewoli, z której go zwolniono na początku następnego roku, gdy zadeklarował zamiar wstąpienia do polskiego wojska. Przyjęto go, nadal jako podoficera, do pułku dragonów księcia Konstantego Lubomirskiego, podczaszego koronnego.
Jako polski kawalerzysta Gordon wziął udział w bitwie pod Warszawą w 1656, ale wpadł po bitwie w ręce Brandenburczyków, którzy przekazali go Szwedom. Gordon bez skrupułów powrócił do armii Karola Gustawa i wstąpił do szkockiej lejbgwardii gen. Douglasa. Wzięty w 1657 do niewoli przez gdańszczan, został przez Douglasa wymieniony, ale wkrótce wpadł w ręce Austriaków.