Castro pleaded guilty to 937 counts during a morning court appearance. In exchange, prosecutors recommended he be sentenced to life without parole, plus 1,000 years.
The judge accepted the pleas and declared Castro guilty. His sentencing is set for August 1.
A trial had been set for Aug. 5 on a 977-count indictment, but 40 counts were dropped as part of the plea deal.
The 53-year-old was said to be more interactive in court than usual. Instead of keeping his head down and eyes closed, as in past appearances, Castro answered the judge's questions in a clear voice. He said he understood the proceedings and that he would never be released from prison. Castro also told the judge he was addicted pornography, had a "sexual problem" and had been a sexual abuse victim when he was a child.
The plea deal came more than a month after a statement issued on behalf of the three women said they were "hopeful for a just and prompt resolution" and had "great faith in the prosecutor's office and the court."
Amanda Berry, Gina Dejesus and Michelle Knight escaped Castro's home May 6 when one of them kicked out part of a door and called to neighbors for help. Castro was arrested within hours and has been behind bars ever since.
The allegations against Castro included repeatedly restraining the women, and punching and starving one woman until she had a miscarriage.
The three women disappeared between 2002 and 2004 when they were 14, 16 and 20 years old. The girls were each abducted after accepting rides from Castro.
The Associated Press contributed to this report.