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.
The US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…