A thick haze shrouding Penang and caused by fires in neighbouring Indonesia has spread to the mainland, meteorological officials said today.