The attackers began spraying bullets at airport guards at the terminal entrance and a shootout erupted before they blew themselves up one by one at around 10:00 pm (local time) yesterday, Turkish authorities said.
The private Dogan news agency said the attackers had killed at least 32 people -- including two police officers -- and wounded 88 others.
President Recep Tayyip Erdogan called for an international "joint fight" against terror after the attack, the fourth deadly bombing in Istanbul this year alone.
Istanbul Governor Vasip Sahin said three suicide bombers had carried out the attack, striking during the Muslim holy month of Ramadan.
Also Read
Security camera footage widely circulated on social media appeared to capture two of the blasts. In one clip a huge ball of flame erupts at an entrance to the terminal building, scattering terrified passengers.
Another video shows a black-clad attacker running inside the building before collapsing to the ground -- apparently felled by a police bullet -- and blowing himself up.
"It was very strong, everyone panicked and started running in all directions," one witness told CNN Turk.
Security staff yelled at passengers as they rushed to evacuate them from the airport.
Police set up a security cordon around the site, while a dozen ambulances rushed to the scene.
Turkey has been hit by a string of deadly attacks in the past year, blamed on both Kurdish rebels and the Islamic State (IS) jihadist group.
The Turkish airport attack also follows coordinated suicide bombings at Brussels airport and a city metro station in March that left 32 people dead.
"We wish them, their relatives & all airport staff strength & courage."
Dogan news agency cited police sources indicating IS is believed to have played a role, though Turkish officials said it was too early to confirm a link.
Security expert Abdullah Agar told CNN Turk the attack bore the hallmarks of a jihadist attack.
"It really bears a resemblance to their methods," he said in reference to the Brussels bombings, which were claimed by IS.