Krupina lies at an altitude of 262 metres (860 ft) above sea level and covers an area of 88.67 square kilometres (34.2 sq mi). It lies on the Krupina Plain under the Štiavnica Mountains, halfway between Zvolen and Šahy. North of the town the Mäsiarsky bok national nature reserve with cliffs and stone seas is located.
The territory of modern-day Krupina was inhabited since the Neolithic, based on archaeological findings from the Bronze Age. The first written reference to the towns river dates back to 1135. The first people to inhabit it were the Slavs-Slovaks. Between the 12th and 13th century the Germans arrived in Krupina, later between the 17th and 18th centuries the Madjars (Hungarians). Along with Trnava, Krupina is the oldest town in Slovakia, having received town privileges in 1238. The settlement lied on the route known as "via magna", connecting the Baltic Sea with the Adriatic. After the Mongol invasion of 1241/1242, when the town was sacked, it was rebuilt and received its town privileges again in 1244 and became a "free royal town".
The "Krupina law", based on the Magdeburg rights, was the basis for many towns in central and northern Slovakia. The deposits of gold and silver ran out in the 14th century and thereafter the town's economy was based on handicraft and agriculture. In the first half of the 15th century the town was threatened by the remains of the Hussites led by John Giskra. As the Turks advanced into the Kingdom of Hungary, the town built its town walls and sentry tower, and the Turks couldn't capture the town until 1682. It was also besieged in 1582, 1647 and 1678 and was ravaged in 1626 by Turks. Turks held it until 1686. Later, Krupina was involved in the Kuruc uprisings at the beginning of the 18th century, burnt down in 1708 and suffered from a plague in 1710. The first schools were opened in the 18th century. After the break-up of Austria-Hungary in 1918, the town became part of Czechoslovakia, was briefly occupied by the Slovak Soviet Republic in 1919, came back quickly into Czechoslovakia, and since 1993 has been a part of Slovakia.