"I thought it was just one girl, but it was two. I saw them lying on the road," he said.
"One of the girls had a bleeding nose and mouth and she was quite bruised on the side of her face."
He said she wasn't moving much. The driver stood nearby and appeared to be in shock.
"She was a schoolgirl. I think she would have been about 16."
The little girls were crossing the road at a brow of a hill when the car struck them. It is not clear if speed was a factor.
A witness, who wished to remain anonymous, said he had walked his nephews past the same spot just minutes before the incident after collecting them from nearby Remuera Primary.
"We heard the sirens and the police whizzing by," he said.
He spoke to people at the scene, who told him a driver had "come over the brow of the hill and not seen the children and hit them".
"It's pretty horrific," he said.
The children were thought to have been making their way home from their school.
The witness said traffic on Lillington Rd was often too fast.
"It certainly seems the speeds are far too high around the school, especially at that hill. A 30km/h limit for 45 minutes a day [at school finishing time] probably wouldn't really impact people that much, especially if it stops this kind of thing happening."
The serious crash unit was at the scene but a change in the weather shortly after the incident made it difficult to do a scene examination.
A red car with damage visible to the passenger side was parked about 40m down from where the children were struck. It was partly blocking an adjoining street and looked as if it had come to an abrupt stop.
Lillington Rd was blocked off at both ends by police, and residents could access their homes only on foot.
An officer at the scene could not give details about the incident.
"It's never good when it's kids, is it?" he said.
The girls were taken to the Starship hospital by ambulance, he said. One was discharged last evening and the other was in a stable condition.