El clima de las costas este y noroeste está dominado por el soplo casi constante de los vientos alisios del sudeste, que llevan fuertes lluvias durante el invierno austral (de mayo a septiembre). La meseta central y la costa occidental están protegidas de estos vientos, pero reciben la lluvia de los vientos monzónicos, que soplan durante el verano austral (de octubre a abril).
Ni los vientos alisios ni los monzones alcanzan la parte sur de la isla, que en consecuencia recibe poca lluvia y, en algunos lugares, es un semidesértico. La meseta central goza de un clima de montaña tropical con estaciones bien diferenciadas. En términos generales, el clima en toda la isla es moderado por la altitud, con la costa más caliente (temperaturas promedio de 21 a 27 grados) y más húmeda que la meseta.