The surfer, aged in his 20s, was on his board at Pyramids Beach south of Perth in Western Australia on Sunday morning when the attack happened, a fisheries official told AFP.
A witness told news website WA Today the man was with another surfer in the water when a large school of salmon swam past them and the shark alarm went off.
"He had been attacked on the lower part of the leg, with a couple of meaty bites," said Damian Baker, who was watching from the shore.
The young man pulled himself onto a rock after he was bitten, surf lifesavers said. He was taken to hospital with non-life threatening injuries.
State officials confirmed the attack by an "unknown species of shark" in a statement.
Beaches in the area were closed and water police were patrolling the waters, the state fisheries department said.
The attack is the fifth encounter off Australia's beaches in two months.
A swimmer died last Monday after being mauled by a shark in the Whitsunday islands off Queensland state -- the third encounter in the tourist site since September.
On Wednesday, a surfer fought off a shark with his board after being bitten on the leg at Shelly Beach --another popular tourist site -- in New South Wales state.
Experts say attacks are increasing as water sports become more popular and fish eaten by sharks move closer to shore. Fatalities, however, remain rare.