The man, who is in his 20s and believed to be Polish, was kite-surfing with a Polish and a French friend in Courtmacsherry Bay in Co Cork at around 5pm on Saturday when the wind suddenly changed direction.
Onlookers watched as the man struggled with his controls as he was lifted up to nine metres in the air, and was flung inland.
He struck the beach, before the wind caught his kite again and slammed him against a storage shed.
He lost consciousness but the wind caught his kite again and lifted his limp body into the air.
Holidaymakers in a nearby caravan park watched as the man was blown further inshore, striking sand-dunes and the top of a truck, before his kite finally snagged on a skip.
The man crashed down in tennis courts almost 400m inland.
“It was dreadful. He was like a rag-doll,” one witness said. “The sea was very choppy at the time, and the boats were bobbing about. Locals say the wind can change suddenly.”
Two doctors who are staying locally, along with members of the Courtmacsherry RNLI, were among the first on the scene.
The man was unconscious and his breathing was laboured.
Paramedics rushed him by ambulance to Cork University Hospital (CUH) where he underwent emergency surgery later.
Friends say he has serious brain, spinal and other internal injuries and that the next three days will be critical.
Gardaí took statements from several eyewitnesses.
Meanwhile, the Courtmacsherry lifeboat was called out twice on Saturday to rescue people in difficulties off the Old Head of Kinsale and in Courtmacsherry Bay.
Two windsurfers who were being swept out to sea were rescued near Coolmain at around 4pm.
And at around 5.30pm, the lifeboat crew also rescued two people in kayaks who were reported missing on a journey from the Old Head of Kinsale to Sandycove Island.