PETALING JAYA - The haze is expected to go on until mid-September with the peninsula's west coast suffering the most from Indonesia's open burning.
Meteorological Department spokesman Dr Hisham Mohd Anip said the situation would likely continue until the southwest monsoon season ends.
Coastal states from Kedah down to Johor could be the hardest hit, he said.
He said Sarawak may see its haze situation improve over the next few days as the winds were set to change direction.
At the moment, winds from Indonesia were carrying the smoke from Kalimantan and Sumatra to Malaysia and Singapore.
Open burning at plantations and forest areas is common in Indonesia as it was the fastest and easiest method of clearing land.
Hisham said there could be more rain here next month when the winds change during the inter-monsoon period, which would help clear the haze.
But he warned that the Indonesian weather could also get drier, resulting in increased hot spots and more smoke being blown here unless the fires were put out before then.
The global El Nino weather phenomenon was also expected to increase the chances of hot and dry weather in Indonesia, Hisham added.
According to the Air Pollutant Index (API), Seri Manjung in Perak had the unhealthiest air in the country yesterday.
The API level there spiked to 103 at 11am before declining to 100 at 3pm.
Port Klang in Selangor had its highest API reading of 102 at 3am.
In George Town, Penang, Christopher Tan reported that the air quality there continued to climb towards unhealthy levels yesterday.
The API reading in Seberang Jaya 2 went from 87 at 6am to 91 at 10am while in Gelugor, it was 89 at 6am and 97 at 10am.
In Prai, it was 78 at 6am and 81 at 10am.
By 1pm, the readings increased to 93 in Seberang Jaya 2, 98 in Gelugor and 83 in Prai.
The Sabah Meteorological Department director Abdul Malek Tussin said that the haze in the state was not as bad as that in the peninsula.
An API reading of between 0 and 50 is good, 51 to 100 is moderate, 101 to 200 is unhealthy, 201 to 300 is very unhealthy, while 301 and above is hazardous.