Isaac Duran Infante was formally charged Tuesday night with the murders of his former teacher and their 4-year-old son.
The bodies of Felicia Barahona, 36, and her son Miguel were found in her upper East side Manhattan apartment on Monday.
The building's super called 911 after he detected a foul odor coming from the apartment. He climbed out on the fire escape and spotted Barahona's body through the living room window.
Barahona was found with an electrical cord wrapped around her neck. Miguel was found face down in a bathtub filled with water.
Police say mother and son had been dead for at least four days.
Barahona made headlines in 2013 when she was terminated from her teaching job after she admitted sleeping with one of her students who fathered her infant son.
Barahona also had an eight-year-old daughter from a previous relationship who did not live with her.
After the bodies were found, Duran Infante, 23, played the role of the grieving father. He claimed he last visited Barahona's apartment in 2011. But police spotted him on surveillance footage entering her building several days before her body was found.
Duran Infante changed his story and admitted he killed Barahona because he objected to her dressing their son in girls clothing. Barahona reportedly dressed Miguel in pink on Facebook and identified him as a girl in the photo captions.
Duran Infante said Barahona "groomed" him to be her sex toy and a "baby daddy". He moved into her apartment in 2011 -- but he moved out months later, before the baby was born.
On Monday, police executed a search warrant at his parents' home in Bethlehem, PA., where he lived.
Barahona, an Afghanistan war vet, moved to the Bronx and took a job at Dewitt Clinton High School, where she first noticed then 17-year-old Duran Infante.
She flirted with the teenager on Facebook and invited him on a first date to McDonalds, where he met her young daughter for the first time. The three then went to a Disney store together, according to the NY Post.
Barahona reportedly told Duran Infante she wanted to kiss him, but she couldn't because her young daughter was there, according to court papers.
Their relationship turned sexual when Duran Infante turned 18 -- the legal age for consent. The pair allegedly had intimate relations 5 days a week.
A neighbor of Barahona's mom said workers from Children's Services arrived to pick up the 8-year-old girl on Tuesday.
Duran Infante's mother told police her family expected to see Miguel on New Year's Day to give him his Christmas gifts. She said her son is innocent of the charges.