"It was filling up with water and I didn't know what I was going to do. I honestly thought I was going to drown."
As the car's nose sank deeper, he scrambled into the back. Those doors weren't working either but fortunately one of the electric windows opened and he was able to get out.
About 300m from where it was pulled into the stream, the car sank up to the roofline.
But the drama wasn't over. Mr Kennedy was then swept another 100m downstream.
"You couldn't imagine the power of it. The river just kept taking me."
He managed to get himself to the bank, which offered little to grab on to, and clung to grass for about 15 minutes until he could get enough traction to drag himself out of the water.
He ran along the road about 500m to the nearest farmhouse to call for help, although his boss arrived just as he reached the house.
Back at work yesterday, Mr Kennedy, who has been driving taxis for 13 years, could not believe his good fortune.
"I was just lucky I got out. If I couldn't have got out, I wouldn't have survived."
There was no time as it was happening to think about anything, he said.
"It was that quick, you couldn't think about what you were doing or how you were doing it. I've never struck anything like that in my life."
In hindsight, he said he shouldn't have gone that way after the previous day's heavy rain, but had not realised how deep or strong the water was. He would not have gone that way if there had been passengers on board.
His boss, Southern Taxis owner Ron Grant, said he was just glad Mr Kennedy was safe. The insured taxi, which would be written off, would be removed from the stream when the water receded.
Dunedin City Council road maintenance manager Peter Standring said he would have the crossing checked, but people should heed signs and exercise caution around fords during or after heavy rain.