The 36-year-old was bitten on the leg while spearfishing in waters near Queensland’s Fraser Island, north of Brisbane, police said on Saturday.
A doctor and nurse provided first aid treatment on shore, but the man was later pronounced dead at the scene when paramedics arrived.
It is the fourth fatal shark attack in Australian waters so far this year.
In a Facebook post on Saturday, Fraser Coast mayor George Seymour said it was a “tremendously sad day for our community”.
He offered his condolences to the victim’s family and friends, adding that the loss of life was “a tragedy beyond words and we share their sadness and grief”.
Police said the victim died about two-and-a-half hours after he was bitten.
His body was transported by helicopter from Indian Head on the eastern side of the island to the coastal city of Hervey Bay in Queensland.
Sharks are common in Australian waters but attacks are relatively rare.
Last month, a 60-year-old man died after he was mauled by a 3m (10ft) great white shark while surfing in northern New South Wales.
In April, a 23-year-old Queensland ranger was killed in an attack on the Great Barrier Reef.
And in January, a 57-year-old diver was killed off Western Australia.
No deaths were recorded last year.