The incident took place at an upscale gated community
The gunfire began around 06:00 local time (11:00 GMT) in the city of Sunrise as agents were investigating a child abuse case, US officials say.
The suspect has also been killed. Asked how many bullets were fired, a police official replied: "Too many to count."
The gunfight took place at an upscale gated community north of Miami.
A statement from the FBI said two of the agents had been transported to hospital and were in a stable condition. The third injured agent did not require hospital, the FBI said.
According to the Miami Herald, the suspect was barricaded inside a home for several hours before shooting and killing himself.
The shooting took place at the Water Terrace apartment complex, about 10 miles (16km) north-west of Fort Lauderdale. The luxury community features a gym, pool, spa and tennis courts, according to their website.
"In accordance with FBI policy, the shooting incident is under investigation by the FBI's Inspection Division," the FBI said. "The review process is thorough and objective and is conducted as expeditiously as possible under the circumstances."
FBI Director Christopher Wray identified the two agents as Dan Alfin and Laura Schwartzenberger, who both worked for years to combat child pornography in Florida.
"Special Agent Alfin and Special Agent Schwartzenberger exemplified heroism today in defence of their country," he said. "The FBI will always honour their ultimate sacrifice and will be forever grateful for their bravery."
The Sunrise Police Department has closed down multiple roads in the area. They have urged nearby residents to stay indoors due to the "ongoing investigation".
Sunrise Police spokeswoman Otishia Browning-Smith said "there were too many [shots] to count."
Julius McLymont, a resident of the complex, told the Associated Press that he heard the gunfight begin with an initial volley of four shots. He first thought it may have been a car backfiring until about two minutes later about five more shots rang out.
Mr McLymont said he saw officers in Swat gear loading an injured person onto an ambulance as more emergency crews arrived.