La població fou fundada en 1897 amb el nom de "Chai-Chai" com a annex del port de Lourenço Marques (que estava situat a uns 200 km al sud) i fou elevada a vila en 1911. Va fer part del districte d'Inhambane, però des de 1895 estava inclòs en el territori militar especial de Gaza, que el 1918 fou erigit en districte separat. En 1922 passà a denominar-se com a "Vila Nova de Gaza" i en 1928 canvià el nom pel de "Vila de João Belo", en homenatge a un antic administrador. La vila fou elevada a ciutat en 1961, i després de la independència nacional el 3 de febrer de 1976 recuperà el nom original, aquest cop amb la grafia Xai-Xai.