Bacalar (Spaans: (luisteren)) is de gemeentelijke zetel en grootste stad van de gemeente Bacalar (tot 2011 een deel van de gemeente Othón P. Blanco) in de Mexicaanse deelstaat Quintana Roo, ongeveer 40 kilometer (25 mi) ten noorden van Chetumal, op 18° 40′ 37″ N, 88° 23′ 43″ W. Bij de volkstelling van 2010 telde de stad 11.084 inwoners. Op dat moment maakte de stad nog deel uit van Othón P. Blanco, en was het de op een na grootste stad (plaats), na Chetumal.
De naam is waarschijnlijk afgeleid van de Maya-talen: bʼak halal, wat “omringd door riet” betekent, de naam van de plaats die werd vermeld bij de aankomst van de Spanjaarden in de 16e eeuw.
Bacalar is ook de naam van de lagune, Bacalar lagune aan de oostkant van de stad.
Bacalar was een stad van de Maya-beschaving in Pre-Columbiaanse tijden. Het was de eerste stad in de regio die de Spaanse Conquistadores in 1543 wisten in te nemen en te behouden. In 1545 stichtte Gaspar Pacheco hier de Spaanse stad met de naam Salamanca de Bacalar met de hulp van Juan de la Cámara. De regio van de zuidelijke helft van wat nu Quintana Roo is, werd bestuurd vanuit Bacalar, onder het gezag van de kapitein-generaal van Yucatán in Mérida.
Nadat de stad in de 17e eeuw door piraten werd geplunderd, werd in 1729 het Fort de San Felipe Bacalar voltooid, dat vandaag de dag nog steeds kan worden bezocht.
In 1848 had Bacalar een bevolking van ongeveer 5.000 mensen. In 1848 tijdens de Kasteoorlog van Yucatán veroverden opstandige Chan Santa Cruz Maya’s de stad. Het werd pas in 1902 door de Mexicanen heroverd.
Bacalar werd in 2006 uitgeroepen tot een “Pueblo Mágico”.