Police said the bus was carrying a teacher and 41 students from grades 11 and 12.
Paramedics treated a number of students at the scene, with five teenagers aged between 16 and 18 taken to hospital for treatment.
It is believed that one of them suffered fractures.
A NSW Ambulance spokesperson said the driver, a man believed to be in his 50s, is suspected of having suffered a medical episode before the crash.
He was trapped in the vehicle for a short time before emergency services freed him from the wreckage.
The driver was taken to Westmead Hospital in a critical condition.
The northbound lane of Erskine Park Road is closed.
NEVER MISS A STORY: Get the latest news and exclusive stories first by following us on all platforms.