The victim, a homeless man who had not been identified, was in critical condition at Jackson Memorial Hospital with much of his face gone, his skin ripped off, nose bitten and eyes gouged, The Miami Herald reported.
Police identified the attacker as Rudy Eugene, 31.
During the Saturday afternoon attack near downtown Miami, the Herald said, an officer approached Eugene and told him to stop attacking the victim. Eugene continued chewing, even after the officer shot him once, and the officer fired several more shots at him, killing him, the newspaper said.
After an officer approached Eugene, witness Larry Vega told WSVN-TV, Miami, "The guy just stood ... with pieces of flesh in his mouth. And he growled."
WPLG-TV, Miami, said it remained unclear what prompted the attack.
Eugene married in 2005 but the marriage ended in divorce just over two years later.
"I wouldn't say he had mental problem but he always felt like people was against him. ... No one was for him, everyone was against him," his ex-wife told WPLG.
Eugene was arrested on a charge of battery when he was 16, and the charge was later dropped.
He was arrested seven other times in a five-year span on charges including misdemeanor battery, vending near a school and trespassing. Four other arrests involved marijuana, the Herald said.
Fraternal Order of Police President Armando Aguilar said Eugene had likely overdosed. Aguilar pointed to four cases when people on a type of LSD removed their clothes and became violent.
The Herald said police had also theorized Eugene could have been suffering "cocaine psychosis," which heats the body internally and causes people to strip naked to try to cool off.
An emergency room doctor at Jackson Memorial said the attack could have been induced by "bath salts," a synthetic stimulant named after the bathroom product it resembles.