Originally called Briovère (meaning "Bridge on the Vire River" in Gaulish), the town is built on and around ramparts. Originally it was a Gaul fortified settlement. The name "Saint-Lô", known since the 8th century, originates from Saint Laud, bishop of Coutances in 525–565, who had a residence here. According to tradition, the town received a new line of walls from Charlemagne in the early 9th century. It was sacked by the Vikings in 890. Later it flourished under the bishop Geffroy de Montbray, who built here a bridge and some mills.
Saint-Lô was the third largest town in the Duchy of Normandy after Rouen and Caen, and became part of France in 1202. In the 13th century it was home to numerous craftsmen, and in 1234 a guild of tailors was established in it. In 1275 it received from King Philip III of France the right to coin, which it maintained until 1693.
During the Hundred Years War it was sacked by the English, and in 1347 it was struck by plague. In 1378 it returned to France, but was again under England from 1418 to 1449. Saint-Lô suffered notably during the Wars of Religion: in 1562 it was captured by the Huguenots and became a Protestant stronghold; in 1574 it was besieged and partly destroyed by royal troops under Marshal de Matignon. Two years later the seigneury of the bishops of Coutances over the town ceased forever. In the mid-17th century part of the walls were destroyed, and the town grew with a new borough known as Neufborg. After the revocation of the edict of Nantes (1685), most of its craftsmen abandoned Saint-Lô.
St. Lo was one of the key cities to the opening of the Falaise Gap, ultimately allowing the Allies to expel German forces from northern France.