Le site est probablement occupé très tôt. Il révèle notamment de nombreuses tuiles d’époque romaine.
Le hameau de Tinte, rattaché au bourg, est situé sur la Loire, à 6 kilomètres de Decize. Ce hameau a une histoire très mouvementée, en particulier pendant la guerre de Cent Ans, au cours de laquelle il est incendié. En 1359, les anglais, vainqueurs à la bataille de Poitiers de 1356, remontent la Loire. Les Tintois demandent alors asile aux Decizois. Ceux-ci équipent des embarcations afin d’aller chercher les habitants et leurs biens. En repartant, ils brûlent le village, ce qui peut être interprété comme un crime ou bien un geste patriotique.
La dénomination de « Sougy » apparaît en 1364. Par décret du 13 décembre 1936, Sougy devient Sougy-sur-Loire.