The shooting happened around 5 a.m. in the Pelham Bay Diner parking lot.
The off-duty officer was involved in a fight in the parking lot, but the details are unclear.
At least two shots were fired, police said.
One of the shots hit the officer in the lower right section of his back and he was transported to Jacobi Medical Center. He is expected to survive.
Police are searching for the gunman and two accomplices who remain on the run.