The man, who did not want to be named, said he spoke to the bus driver and checked on the male driver of the Toyota RAV4 while on the phone to emergency services.
The Toyota’s driver, who was trapped but conscious, did not appear to be seriously injured, he said.
Some women who were in a vehicle following the Toyota told him it had crossed the centre line and struck the front right-hand corner of the bus.
"It was obvious there was a bit of speed involved."
The bus, which was carrying primary school-aged children, had been travelling towards Frankton while the Toyota was bound for Queenstown.
The bus driver had been calm and got the children off the bus quickly, he said.
One child on the bus was injured in the collision.
A police spokesman said they were called to the crash on Frankton Rd between Sugar Lane and Yewlett Cres at 3.49pm.
A child on the school bus was taken to hospital by ambulance with minor injuries.
Police said the remaining occupants of the bus were transferred to another bus and were continuing to their destination.
The driver of the RAV4 received moderate injuries.
The road was reopened about 5.30pm.
The Serious Crash Unit was investigating.