Bacalar is a town in the Quintana Roo state of Mexico, about 40 km north of Chetumal, at 18.67°N, 88.38°W. In 2003 the town had a population of about 10,400 people.

Bacalar is also the name of the lake or lagoon on the east side of the town.

Bacalar was a city of the Maya civilization in Pre-Columbian times. This was the first city in the region which the Spanish Conquistadores succeeded in taking and holding in 1543. In 1545 Gaspar Pacheco established the Spanish town here with the name Salamanca de Bacalar. The region of the southen half of what is now Quintana Roo was governed from Bacalar, answerable to the Captian General of Yucatan in Merida.

After the town was sacked by pirates in 17th century, the Fortress de San Felipe Bacalar was completed in 1729, and may still be visted today.

In 1848 Bacalar had a population of about 5,000 people. In 1848 during the Caste War of Yucatán rebellious Chan Santa Cruz Maya conquered the town. It was not retaken by the Mexicans until 1902.