De vlag van Goes wordt als gemeentelijke vlag van de Zeeuwse gemeente Goes gevoerd. De vlag is al honderden jaren oud, maar is pas op 15 april 1964 bij raadsbesluit vastgesteld. De vlag bestaat uit dertien horizontale banen in de kleuren rood-wit. De herkomst van deze vlag is niet duidelijk, maar de kleuren rood en wit zijn heel lang als stadskleuren gebruikt. Al in de 15e eeuw wordt hier vermelding van gemaakt. In de Nieuwe Cronyk van Zeeland (1700) van Mattheus Smallegange wordt de vlag voor het eerst beschreven en afgebeeld.
Na een gemeentelijke herindeling in 1970 waarbij enkele gemeenten aan Goes zijn toegevoegd, is op 15 mei 1970 de gemeentevlag in ongewijzigde vorm opnieuw vastgesteld.