Video captured on a cellphone camera showed frightened people swimming or scurrying away from a large gap in the water. In the middle, a bull shark's outline could be seen.
"It started getting closer to the people at the sandbar and they tried to get out," Donovan Cecil told ABC-affiliate WPLG. "One guy, it went straight towards him and bit his leg, pulled him, gave him a little tug.
"I was freaking out," he added.
The beachgoer, who has not been identified, was bitten on both legs "in the process of exiting the water," Miami-Dade Fire Rescue spokeswoman Erika Benitez told the Florida Sun-Sentinel.
The bull shark that left the gashes in the man's legs was an estimated five feet long.
The victim made it out of the water, blood streaming down his legs, and walked over to lifeguards, who helped him and called paramedics.
The man was alert when he was taken to the hospital, authorities said. He's expected to survive.
Lt. Matt Sparling told WPLG that he'd never seen a shark attack at Haulover Beach "in my 20 years as a lifeguard."
Last year, there were 81 unprovoked shark attacks against humans, according to the Florida Museum of Natural History's International Shark Attack File. In 2015, there were 98 unprovoked attacks, although the year average hovers around 82.
Florida had 32 attacks last year, leading the United States.
(Except for the headline, this story has not been edited by NDTV staff and is published from a syndicated feed.) Click for more trending news
Get Breaking news, live coverage, and Latest News from India and around the world on NDTV.com. Catch all the Live TV action on NDTV 24x7 and NDTV India. Like us on Facebook or follow us on Twitter and Instagram for latest news and live news updates.