At least 34 people are believed to have been killed and dozens injured in attacks at Brussels international airport and Maelbeek metro station.
Twin blasts hit Zaventem airport at about 8:00 local time, with 14 people reported killed.
Another explosion struck Maelbeek metro station near EU headquarters an hour later, leaving about 20 people dead.
Brussels police have issued a wanted notice for a man seen pushing a luggage trolley through the airport.
The manwas pictured in CCTV footage with two other suspects who are believed to have died in the blasts.
ISIS said it was behind the attacks in a statement issued on the ISIS-linked Amaq agency.
Belgium has raised its terrorism alert to its highest level. Three days of national mourning have been declared.
Belgian PM Charles Michel called the latest attacks “blind, violent and cowardly”, adding: “This is a day of tragedy, a black day… I would like to call on everyone to show calmness and solidarity.”
Two explosions tore through the departures area of Zaventem airport shortly after 08:00 local time.
A suicide bomber was “probably” involved, the Belgian prosecutor said.
Eleven people were killed and 81 wounded in the blasts, Belgian Health Minister Maggie de Block said.
Some witnesses reported hearing shots fired and shouts in Arabic before the two explosions.
Others said that people fled the first blast, only to get caught in the second.
A third bomb failed to detonate and was destroyed by the security services.
The metro explosion occurred shortly after 09:00 during the rush hour at Maelbeek station.
It struck the middle carriage of a three-carriage train while it was moving away from the platform.
Brussels Mayor Yvan Mayeur said “about 20” people had died and more than 100 had been injured, 17 of them severely.
Local and international travel has been suspended or disrupted and security tightened across Europe.
All flights have been cancelled. The airport is due to reopen on March 23.
Eurostar has cancelled all trains to and from Brussels. The Thalys France-Benelux train operator says the entire network is closed.
In France the government has held an emergency meeting. There is also extra security at Dutch airports.