What started as a quiet Saturday night for Savannah Davies almost ended in tragedy after a late night spin in a 4WD went wrong and the Rangiora teenager was swept at least 30 metres down a North Canterbury river.
But a volunteer firefighter managed to pull her to safety just in time.
Davies said the experience was terrifying and she would never go four-wheeling again.
"I thought I was going to die. I thought I was actually going to drown."
Davies, her partner and two friends had been relaxing at a friend's house when they decided to try four-wheeling in the Ashley river.
"[We] misjudged the water, we thought it was shallower than it was and we got stuck."
Friends tried in vain for two hours to pull the vehicle and its occupants out before emergency services were called around 11:45pm on Saturday.
Rangiora chief fire officer Hamish Peter, who witnessed the rescue, told NZME four people were clinging to the side of the one of the 4WDs when fire crews arrived.
"One girl was initially swept away, but a firefighter jumped in and grabbed her just in time and pulled her to the bank."
Davies said one firefighter stationed himself on the river bank and told the group to walk towards him and another stood further down the river in case they were caught in the current.
"I'm a lot lighter and weaker than the others so I started to lose my footing and was kind of getting swept down," Davies said.
"My partner was trying to hold me but we were both getting dragged a little bit."
A firefighter then jumped in the water to their aid.
"He wasn't on a rope or anything. He started to lose his footing and we both kind of went downstream and the other fireman tried to catch us both but we couldn't really hold hands."
Another rescuer managed to catch Davies and pulled her and the firefighter up out of the water, she said.
Another volunteer firefighter then plucked Davies' partner and friends to safety.
Crews tied a rescue line to one of the fire engines and a firefighter pulled the other three occupants to shore one by one, Peter said.
"All up the rescue probably took 20-30 minutes. We were concerned about rising water so we did it as quick as we could."
Davies said her parents were among the people who initially tried to get them out and saw her being swept away.
"They thought I was gone."
"I think they were very lucky ... at the end of the day everyone's safe and well, that's the main thing," Peter said.
All four young people were assessed by paramedics at the scene. They were cold but unhurt.
A police spokeswoman said the 22-year-old driver of the vehicle, who was breath-tested at the scene, was over the limit.
He will appear in court in Christchurch on November 24 on one charge of driving with excess breath alcohol. Police said the man's reading was more than 400 micrograms per litre of breath. The legal limit is 250mcg.