An off-duty police officer was injured when a gun battle erupted late Friday afternoon in North Philadelphia, police said.

Angelo Romero was with his 2-year-old son in the 1100 block of Parrish Street around 4:45 p.m. when a group of teenagers started shooting at each other, said Police Commissioner Richard Ross.

"Obviously, his sixth sense kicks in when he sees these guys; he could sense something was up," Ross said. "Another guy comes around the corner" and pulled a gun from his pocket.

Then the bullets began to fly.

"He immediately covered his son, as any father would do," Ross said.

Romero, who was not armed, was struck by a bullet in a thumb and also was hit by fragments in both legs and in his buttocks.

"He tried to take himself to the hospital but he couldn't do it. Fortunately, a Highway Patrol officer was in the area and was able to bring him here," said Ross, who briefed reporters outside Thomas Jefferson University Hospital.

"He was just so, so lucky," Ross said. "We're so glad his 2-year-old was not struck."

Police earlier said 10 to 12 shots were fired.

Ross said Romero was in some pain, but was expected to be discharged Friday night.

Investigators were checking area surveillance cameras for possible video of the assailants, whom Romero described as ages 15 to 18.

Anyone with information about the shooters is asked to call the police.