A busload of schoolboys have been subjected to an abusive verbal tirade, with one teenager punched in the face, after a man walked onto their bus following a collision with a car in Sydney's northern suburbs.

Video has emerged showing a man walking through the bus filled with students from Shore School, who were returning to the North Sydney site from rowing training in Gladesville about 6pm on Wednesday when their bus had a minor collision with a black BMW.

A NSW Police spokeswoman said the 20-year-old male driver of the BMW boarded the bus following the collision on Burns Bay Road, Lane Cove, and allegedly attacked a 15-year-old boy.

In the video, the man can be heard aggressively shouting expletives at the teenagers before appearing to punch one boy in the face after he asked the man to stop.