The goddess Parvati created a son, Ganesha, to protect her while she bathed.
"Stand guard here," she told him. "Admit no one."
Her husband, Shiva, arrived, demanding to see his wife.
"No," said the boy, obeying his mother's orders. "She's bathing."
Enraged, Shiva cut off the boy's head.
"What have you done?" shrieked Parvati. "That was my son!"
Shiva sent his servants to bring back the head of the first creature they encountered, which was an elephant.
So they brought back the elephant's head, which Shiva placed on Ganesha's body.
That is why the god Ganesha has an elephant's head.
Inspired by: Stories of Lord Ganesha
Notes: In the original story, Ganesha supposedly gets his name from the ganas, who are the servants of Shiva, so Ganesha is "Lord of the Ganas." That play on words is hard in English, so I just had Parvati call him Ganesha from the start.