Goes was founded in the 10th century on the edge of a creek: de Korte Gos (the Short Gos). The village grew fast, and in the early 12th century it had a market square and a church devoted to Mary Magdalene. By 1300, it had a brick castle, now known as Oostende Castle.
In 1405, Goes received city rights from William II, Duke of Bavaria, by his right as count of Holland, and in 1417, it was allowed to build town walls. The prosperity of the city was based upon the cloth industry and the production of salt. In the 16th century, Goes declined. Its connection to the sea silted up and in 1554 a large fire destroyed part of the city.
In the autumn of 1572, during the course of the Eighty Years' War, Goes, in the Spanish Netherlands, was besieged by Dutch forces with the support of English troops. The siege was relieved in October 1572 by Spanish tercios, who waded across the Scheldt to attack the besieging forces. In 1577, the Spanish soldiers who occupied Goes were driven out by Prince Maurice of Nassau. The prince built a defence wall around Goes, which is still partly standing. From the 17th century, Goes did not play an important role, except as an agricultural centre. In 1868, a railway was constructed through it, but this did not lead to industrialisation. Agriculture remains the most important economic activity.
Although the Netherlands were neutral in the First World War, seven bombs hit Goes and Kloetinge, due to an error by a British airplane. A house in Magdalenastreet in Goes was destroyed and one person killed. Goes did not suffer extensive damage during the Second World War, but was under German occupation until 1944.
Goes did not experience much population growth until the 1970s and 1980s. Then, the city grew fast because of new districts like Goese Meer, Oostmolenpark, Overzuid and Ouverture being constructed. Goes is now the fourth largest economic centre in Zeeland. New districts are in preparation, amongst them Goese Schans, Mannee and Aria, where 3,000 new houses are to be built.
^"Samenstelling B&W" [Members of the board of mayor and aldermen] (in Dutch). Gemeente Goes. Archived from the original on 13 December 2013. Retrieved 10 December 2013.
^"Postcodetool for 4461GE". Actueel Hoogtebestand Nederland (in Dutch). Het Waterschapshuis. Archived from the original on 21 September 2013. Retrieved 8 December 2013.