Schaffhausen was in de Middeleeuwen een stadstaat, waarvan is gedocumenteerd dat het vanaf 1045 zijn eigen munten sloeg. Het stond een tijdlang onder Habsburgse heerschappij, maar herwon zijn onafhankelijkheid in 1415. In 1457 sloot het zich aan bij Zürich, en in 1501 werd het een volwaardig lid van de Zwitserse Confederatie. De eerste spoorlijn kwam naar Schaffhausen in 1857.
Schaffhausen ligt in een Zwitserse landtong die aan drie kanten door Duitsland is omgeven. Op 1 april 1944 werd Schaffhausen getroffen door een bombardement van vliegtuigen van de Amerikaanseluchtmacht die vanuit het Duitse luchtruim in het neutrale Zwitserland terechtkwamen. De Verenigde Staten boden onmiddellijk vier miljoen dollar herstelbetalingen aan, maar de inval vond plaats slechts een maand nadat de Zwitserse luchtmacht een Amerikaanse bommenwerper had neergeschoten.
In 1947 fuseerde het met de voormalige gemeente Buchthalen. In 1964 fuseerde het met de voormalige gemeente Herblingen. Sinds 2009 maakt het Hemmental deel uit van de gemeente.