A truck driver has been charged after a fiery crash on the M1 north of Sydney killed two people, severely injured five others and caused peak-hour traffic chaos last night.

It is alleged the truck crashed into the back of one of the cars and burst into flames on the M1 near the Mooney Mooney Bridge about 5:00pm.

Two men in a ute, aged 19 and 52, died. They have not yet been formally identified.

The 30-year-old truck driver was charged with multiple counts of dangerous driving occasioning death and one count of dangerous driving occasioning grievous bodily harm.

Firefighters extinguish the blaze on the M1. ( ABC News )

Five others were taken to hospital after the peak-hour smash, which also involved another five cars.

There were flames and plumes of black smoke at the scene after the crash and huge traffic delays stretching up to 10 kilometres along the M1.

A 75-year-old woman, who was driving a sedan, was taken to Royal North Shore Hospital for further treatment.

Traffic snaking up the M1 last night ( ABC News )

The remaining drivers and passengers — four women — were taken to Gosford Hospital.

Police will inspect the truck company's fleet in coming days to ensure they are safe.

Chief Inspector Phillip Brooks of the Traffic and Highway Patrol Command said passing motorists rendered assistance.

"Police are certainly very thankful for the quick-thinking action of these bystanders," he said.

"They've witnessed what is no doubt a very sad and tragic event and, in all likelihood, something they and their loved ones won't forget."

The truck driver was also charged with negligent driving occasioning death and negligent driving occasioning grievous bodily harm.

His licence was suspended.

He was granted bail and will face court later this month.

The fatalities bring this year's New South Wales road toll to 209.