Officials say the officers were responding to an apartment in Sheepshead Bay where a man was holding his girlfriend and their infant son hostage just after midnight.
Police say the woman managed to escape with the boy. Then, officers went inside, and the man opened fire with a nine-millimeter Browning semi-automatic, striking three officers in the leg.
Commissioner Raymond Kelly said the man fired 12 times. Kelly said police found other guns and ammunition rounds in the apartment. He said the 33-year-old man, Nakwon Foxworth, had been released from prison in 2010 after serving 10 years for charges including attempted murder and robbery.
Foxworth has been charged with attempted murder, assault on a police officer, criminal possession of a weapon, and menacing.
Detective Kenneth Ayala, 40, suffered wounds to his thigh and foot. Detective Michael Keenean, 52, was hit in the calf. Officer Matthew Granahan was also hit in the calf. Capt. Al Pizzano, 45, suffered a graze wound to his face. All of them were listed in stable condition at the hospital on Sunday morning.
Kelly said Ayala and Granahan returned fire, hitting Foxworth in the abdomen.
He was listed in critical but stable condition at Kings County Hospital.
Once inside Foxworth's apartment, detectives discovered a slew of weapons, including a military style assault rifle, a .22 caliber revolver, a 9 millimeter, and lots of ammunition.
"You see our police officers putting their lives on the line every single day," said Mayor Michael Bloomberg at a news conference held at Lutheran Medical Center where the officers were taken. "Here we were very lucky, but it could have been a great tragedy."
"We have now had eight - that's correct, eight - members of the department shot in the last four months," Bloomberg said. "And this is the second time in the last 24 hours that police have been fired upon by armed assailants."
He said all of the shootings "were committed with illegal guns that came from out of state."
Get Eyewitness News Delivered