A teenage driver on P-plates has been charged after a crash that left a boy fighting for life.
Emergency services were called to the intersection of Gardeners Road and Bunnerong Road at Kingsford, in Sydney's east, about 3.40pm on Tuesday.
A 12-year-old boy was pinned between a car and a tree after the Holden Commodore mounted a footpath.
The boy was released by officers from the police rescue squad before he was assessed by ambulance paramedics and taken to Sydney Children's Hospital in a critical condition.
The driver, a 17-year-old boy, was taken to Prince of Wales Hospital for assessment under police guard.
After he was released, the driver was taken to Maroubra Police Station and charged with dangerous driving occasioning grievous bodily harm and negligent driving.
He was granted conditional bail and will appear in Parramatta Local Court in January.