Juan Pablo Maradiaga, 41, then jumped off the balcony himself, the Orlando Sentinel reported.
Police said they responded to the scene at the Budget Inn at 12:30 a.m. Tuesday and found the boy lying in the parking lot.
He was conscious, but suffered a fractured arm, fractured eye socket, abrasions to his abdomen and had a large bump on his head.
He was flown to a hospital and is expected to recover.
Maradiaga, who has been investigated three times for domestic violence, was found unconscious in a nearby stairwell. He had a head injury and leg fracture, and police said.
He confessed to becoming frustrated with his son and throwing him off the balcony, the newspaper said.
Police said he will be jailed when he is released from the hospital.
The boy's mother, Rosa Fabian Lizardo, said she normally takes the child to a babysitter, but Maradiaga had asked to spend time with him, and she agreed.
"Why, why, did he do this? He loved his son I know he did," she told WKMG-TV, Orlando.
She said she is unsure if she will press charges.
The Department of Children and Families said it will conduct an investigation into the incident.