A 41-year-old man was surfing near Belongil Beach about 6.40am on Sunday when he was bitten on the leg, police said in a statement.
His flatmate Dane Davidson told the ABC that he was only 15 metres away when the shark attacked, knocking the surfer from his board.
“There was a lot of thrashing and splashing and he started screaming,” he told the ABC.
The victim was able to get back on his board and paddle back to shore.
“I didn’t realise until we were on the beach that there was a big chunk taken out of his leg.
“There was a lot of blood and bleeding.”
Mr Davidson and a second man used a surfboard leg rope as a tourniquet to stem the bleeding until paramedics arrived.
The man was airlifted to Gold Coast University Hospital in a serious but stable condition.
NSW Department of Industries scientists have been trying to determine the size of the shark but because of the damage to the surfboard, have been unable to do so.
However, they believe a juvenile white shark attacked the man.
No tagged sharks were picked up by the DPI around the time of the incident, the department said in a statement.
Byron Bay lifesaving duty officer Chris Samuels said shark sightings were “not uncommon” in the area.
“You always see a couple about, but an encounter like this is unusual.”
He said the beach would be closed for 24 hours as lifesavers patrol the area.
In 2014, a 50-year-old man was killed after being attacked by a great white shark at nearby Clarkes Beach.