About 80 pupils, believed to be from Dunedin's Columba College, were swimming at Purakaunui beach, north of Dunedin, when they got into trouble.
"A number went for a swim and were caught in a rip about 2pm. With the assistance of three surfers in the area, they were rescued,'' said Acting Senior Sergeant Paul McLaughlan of Dunedin police.
In total, 18 pupils were rescued from the water, with St John confirming that 12 needed treatment.
Seven were taken to Dunedin Hospital's emergency department.
Police said two male surfers helped rescue a 13-year old who may have died without their intervention.
She was reported to be in a "very serious condition'' and was flown to hospital, with three others in serious condition, in the Otago Regional Rescue Helicopter.
Three other teenagers were taken by ambulance with moderate injuries.
The pupils were near Purakaunui Inlet and Goat Island, Mr McLaughlan said.
He said three inflatable rescue boats from Warrington were used in the rescue, which also involved police officers and volunteer firefighters from Waitati.
Coastguard Dunedin was also alerted.
Mr McLaughlan said all pupils on the school trip had been accounted for and Victim Support staff were counselling those involved.
- Additional reporting by APNZ