The man identified as Esteban Santiago, upon arriving at the airport, started firing at baggage claim on Friday, CNN news quoted Broward county Sheriff Scott Israel as saying.
The 26-year-old suspect has been taken into custody. The motive behind the attack is yet to be known, according to law enforcement officials.
The Federal Bureau of Investigation has not ruled out terrorism, officials said.
The shooter, who acted alone, will likely appear in Broward county court on Monday, officials said.
Santiago, who was stationed in Iraq between 2010 and 2011, used a semiautomatic pistol during the shooting after which he surrendered to authorities without any resistance.
The suspect was not on the radar for possible terrorism ties, according to a law enforcement official and a Department of Homeland Security official.
He had no significant foreign travel that was ever flagged, but visited the FBI office in Alaska and told the officials that an intelligence agency was telling him to watch Islamic State videos.
US President Barack Obama said he was heartbroken over the shooting and did not wish to comment further before knowing the motive behind the incident.
“I don’t want to comment on it other than just to say how heartbroken we are for the families who’ve been affected. The pain, the grief, the shock that they must be going through is enormous,” Obama said.
The outgoing President also refrained from labelling the shooting a terrorist act, but said authorities would “find out over the next 24 hours exactly how this happened and what motivated this individual”, EFE news reported.
President-elect Donald Trump and Vice President-elect Mike Pence tweeted about the situation.
“Monitoring the terrible situation in Florida. Just spoke to Governor Scott. Thoughts and prayers for all. Stay safe!” he said.
“Our thoughts and prayers are with the victims, their families and our first responders in Fort Lauderdale, FL,” Pence wrote on Twitter.
All flights were grounded and additional areas of the airport were being evacuated.
Hundreds of passengers and airport workers could be seen gathering and evacuating via the tarmac.
The airport has four terminals and serves more than 73,000 travellers every day. It ranks 21st in the US in total passenger traffic, with more than 650 commercial flights a day.