Authorities put the death toll related to the eruption at three.
Volcanic ash reduced visibility in the cities of Yogyakarta, Surabaya and Solo after the eruption of Mount Kelud in East Java province late Thursday, said Bambang Ervan, spokesman for the Transportation Ministry.
Surabaya is Indonesia's second largest city and Yogyakarta is the country's second tourism destination after Bali.
"Volcanic ash is covering the airports and it's too dangerous for flights," Mr Ervan said.
At least 200 domestic and international flights were cancelled, Mr Ervan said. The airport in the Central Java capital Semarang was also closed later in the day.
AirAsia Indonesia said it cancelled 15 flights to and from the four airports.
Virgin Australia cancelled all flights to Phuket, Denpasar, Christmas Island and the Cocos Islands, and Qantas Airways said two Jakarta flights scheduled to leave Sydney had been postponed until Saturday.
Jakarta's main railway station was packed with passengers whose flights were cancelled.
"My flight was cancelled but I have to see my parents in Solo so I'm taking a train instead. I don't mind spending eight hours for the trip," Budi Hardjo said.
Emile Jansons, manager of the Darwin Volcanic Ash Advisory Centre in the Australia city of Darwin, said in a statement that "a high level of ash has entered the stratosphere and may stay in the atmosphere for a number of days" and that the centre was "providing airlines with the latest information so they can make suitable flight plans."
Television footage showed aircraft and streets covered with ash.
The booms from the eruptions were heard as far Yogyakarta, about 300km away, and ash reached places as far as the city of Bandung, about 700km to the west, residents said.
Two people were killed when their houses collapsed under the weight of volcanic debris, and a 60-year-old woman died from breathing difficulties caused by volcanic ash, said Sutopo Nugroho, a spokesman for the National Disaster Management Agency.
The government raised the volcano's alert to the highest level and declared a 10km exclusion zone, where 200,000 people live.
"It appears that the volcano's activity is decreasing," said Nugroho, adding that residents were in urgent need of face masks.
Another major eruption was unlikely, Mr Nugroho said.
The 1,731-metre Mount Kelud in East Java last erupted in 2007. A bigger eruption in 1990 killed more than 30 people.
There are nearly 130 active volcanoes across the Indonesian archipelago.
In North Sumatra province, 17 people were killed earlier this month following eruptions at Mount Sinabung.