Bacalar (span: (listen)) ist der Gemeindesitz und die größte Stadt der Gemeinde Bacalar (bis 2011 ein Teil der Gemeinde Othón P. Blanco) im mexikanischen Bundesstaat Quintana Roo, etwa 40 Kilometer (25 mi) nördlich von Chetumal, auf 18° 40′ 37″ N, 88° 23′ 43″ W. Bei der Volkszählung 2010 hatte die Stadt 11.084 Einwohner. Zu dieser Zeit war sie noch ein Teil von Othón P. Blanco und war nach Chetumal dessen zweitgrößte Stadt (Ortschaft).
Der Name leitet sich höchstwahrscheinlich aus der Maya-Sprache ab: bʼak halal, was „von Schilf umgeben“ bedeutet, der Name des Ortes, der zur Zeit der Ankunft der Spanier im 16. Jahrhundert belegt ist.
Bacalar ist auch der Name der Lagune, Bacalar Lagune auf der Ostseite der Stadt.
Bacalar war eine Stadt der Maya-Zivilisation in präkolumbianischer Zeit. Sie war die erste Stadt in der Region, die die spanischen Konquistadoren 1543 einnehmen und halten konnten. Im Jahr 1545 gründete Gaspar Pacheco mit Hilfe von Juan de la Cámara hier eine spanische Stadt mit dem Namen Salamanca de Bacalar. Die Region der südlichen Hälfte des heutigen Quintana Roo wurde von Bacalar aus verwaltet und war dem Generalkapitän von Yucatán in Mérida unterstellt.
Nachdem die Stadt im 17. Jahrhundert von Piraten geplündert wurde, wurde 1729 die Festung de San Felipe Bacalar fertiggestellt, die noch heute besichtigt werden kann.
Im Jahr 1848 hatte Bacalar etwa 5.000 Einwohner. 1848, während des Kastenkrieges von Yucatán, eroberten rebellische Chan Santa Cruz Maya die Stadt. Erst 1902 wurde sie von den Mexikanern zurückerobert.
Bacalar wurde 2006 zum „Pueblo Mágico“ ernannt.