Schaffhouse était une ville-État au Moyen Âge, dont on sait qu'elle a frappé ses propres pièces de monnaie à partir de 1045. Pendant un certain temps, elle a été sous la domination des Habsbourg, mais elle a retrouvé son indépendance en 1415. Elle s'est alliée à Zürich en 1457 et est devenue membre à part entière de la Confédération suisse en 1501. Le premier chemin de fer est arrivé à Schaffhouse en 1857.
Schaffhouse se trouve dans un doigt de terre suisse entouré de trois côtés par l'Allemagne. Le 1er avril 1944, Schaffhouse a subi un raid de bombardement par des avions des forces aériennes de l'armée américaine qui se sont écartés de l'espace aérien allemand pour se rendre en Suisse neutre. Alors que les Etats-Unis ont immédiatement offert quatre millions de dollars de réparations, le raid s'est produit un mois seulement après que l'armée de l'air suisse ait abattu un bombardier américain.
En 1947, elle a fusionné avec l'ancienne municipalité de Buchthalen. En 1964, elle a fusionné avec l'ancienne municipalité de Herblingen. Depuis 2009, Hemmental fait partie de la ville.