The victim, 55-year-old Richard Carlson, is recovering at Maine Medical Center with stab wounds, broken ribs and cuts to his face and head, officials said.
Police say the men did not know each other and the attack appears to random, with robbery being the motive.
According to a police report, Bennett was wearing a mask when he broke into Carlson's Shore Road home at 2 a.m. Sunday.
Bennett allegedly attacked Carlson as he slept before tying him up with duct tape, kicking him, beating him and eventually stabbing him in the back and arm.
The suspect remained in the house for six hours, even taking time to use the victim's washer and dryer to wash bloodstains from his clothes, officials said.
After Bennett fled the home at about 8 a.m., Carlson managed to untie himself and seek help at a neighbor's home.
Bennett was arrested a short time later in a wooded area not far from the house.
Neighbors said they think Bennett might have been living in an abandoned trailer near Carlson's home. Police said Bennett at one time lived in the Maine town of Searsmont.