Updated

Two law enforcement officers were injured and a man died from a self-inflicted gunshot wound after a chaotic incident on one of south Florida's busiest expressways Thursday.

The incident began around 2:20pm local time when a man staged a carjacking in northwest Miami, FBI spokesman Timothy Donovan said.

He then robbed a barber shop in Broward County, fired a weapon and stole a second car which he crashed into another vehicle on Florida's Turnpike, The Miami Herald reported.

Off-duty Key Biscayne police officer Nelia Real, 54, stopped to give assistance but the man shot her in the face. She was taken to a hospital and was in stable but critical condition.

"She was shot in the neck and facial area, but fortunately the bullet missed all vital organs," Key Biscayne Police chief Charles Press said.

The shooter then walked along the expressway armed with a gun, according to witnesses. He was confronted by an agent from the US Immigration and Customs Enforcement Agency (ICE), who was also shot. The agent's injuries are reportedly not serious.

The gunman, whose name has not been released by police, then shot himself, the Herald reported.

With reports of a second suspect, traffic on the Turnpike was at a standstill for about five hours as police from four counties, the Broward Sheriff's Office and ICE searched the area until around 9:00pm.

Donovan said authorities later decided the shooter acted alone.

A witness to the incident was Florida Marlins catcher Brett Hayes, who was stuck in traffic on the Turnpike with his wife. He said the man, dressed entirely in black, was on the median strip and walked past their car, before Hayes noticed he was carrying a gun.

"He and I made eye contact, and he looked like he was up to no good," Hayes said. "Something was very wrong. I just had a very bad feeling. My wife and I were in shock. I told her, 'Do not look at him.' He was walking like he was walking down the street. It was really creepy. But his face ... it was pretty scary to be honest with you."