The incident at Lake Moondarra, near Mount Isa, was captured on camera by local residents on Sunday.
The 10-ft snake, thought to be a python, coiled itself around the crocodile and the two struggled in the water.
The snake later brought the dead crocodile onto land and ate it.
“[The crocodile] was fighting at the start, it was trying to keep its head out of water and survive,” Tiffany Corlis, who took these pictures, told the Australian Broadcasting Corporation.
Her husband, Travis, told AFP news agency that the two adversaries had “quite a struggle” in the water.
“It was an ongoing battle,” he said. “We were just standing there in amazement watching it.”
Another witness, Alyce Rosenthal, told local media that the two creatures fought for about five hours. By the end, they appeared exhausted, she said.
“It’s not something that you see every day,” she said.