The boy and girl, both 16, were hit at a pedestrian crossing on Kensington Road, near Marryatville High School, just after 8am.
They were rushed to Royal Adelaide Hospital by ambulance, with the boy’s condition critical.
Other students saw their classmates hit and the aftermath, Superintendent Narelle Kaminair said.
“Some things never leave a person’s mind,” Kaminair said.
“Seeing something as horrendous as that would certainly be one of those things.”
The 60-year-old truck driver was not injured in the crash.
He was later arrested and charged with two counts of causing injury by dangerous driving.
“It’s a tragedy to everybody who witnessed this,” Kaminair said.
“All of these things are preventable.
“It’s a split-second decision and people need to be not distracted.
“It’s a tragedy to everyone who witnessed this.
“My heart goes out to the families of these children and the school.”
Locals were upset by what happened.
“For the parents, and grandparents, it’s tragic, simply tragic,” one local man, who was in tears, told 9News.
A total of 36 people have died on the roads this year in South Australia, compared with 16 at the same time last year.
Police are appealing for witnesses and footage.
The road is closed between Portrush Road and Hackett Avenue while police investigate.