Heinrich, now 53, described the sexual assault and murder of Jacob and also a separate attack on another boy who survived, as part of a plea deal with federal and state authorities designed to reveal what happened to Jacob and to recover his remains.
Heinrich described a cold and terrified boy who began to weep after the abductor said he couldn't take him all the way home, CNN-affiliate WCCO reporter Nina Moini tweeted from the courtroom. Heinrich panicked upon hearing a police car, loaded his revolver, shot the boy and buried him in a place finally uncovered last week, federal authorities said.
For Jacob's mother, Heinrich provided the truth she had sought for nearly three decades, no matter how harsh.
"It is incredibly painful to know his last days, his last hours and his last minutes," Patty Wetterling said after the hearing. "For us, Jacob was alive, until they found him."
She sounded content with the deal even though it ensured Heinrich would not be prosecuted for Jacob's death -- his confession being the only solid evidence of the crime. In the end, it was the only way to verify for certain that Jacob was dead, that Heinrich was responsible, and that he got a lengthy prison sentence.
"I wish we had a different result but the people standing with me today delivered what we could, the truth," said United States Attorney Andrew Luger. "On October 22,1989, Danny Heinrich murdered a young boy. On that day he stole our innocence. Today, he is facing justice."
Heinrich agreed to make a full confession in court to Jacob's death, lead the authorities to the remains and receive a 20-year sentence for possession of child pornography. In exchange, the state dropped multiple counts of child pornography possession that carried a a potential life sentence in the federal system, and state authorities agreed not to prosecute him for murder, Luger said.
Abducted from a 'safe place'
Jacob went missing one evening when when he and his brother left their home in the hamlet of Saint James with a friend to ride their bicycles and a scooter to a store to rent a movie.
The boys were on their way back home when they hit a dark stretch of road and a man in car pulled over, accosted them at gunpoint, told them to turn off their flashlight and after asking their ages, told them one-by-one to run and not look back or he would shoot them.
When the first two got a distance, they looked back and Jacob and the man, who was wearing a stocking cap mask, were gone.
The case garnered worldwide attention and was recently featured on the CNN series "The Hunt with John Walsh."
Saint James, with roughly 6,500 residents, is in Stearns County, about 15 miles west of the city of Saint Cloud, which is about 65 miles northwest of Minneapolis on the Mississippi River.
Sheriff John Sanner said his office received overwhelming tips in the 1989 disappearance and they linked it to a similar unsolved abduction and assault of a 12-year-old boy, J.S., earlier in the year. That boy had been released.
Investigators zeroed in on Heinrich then but J.S. was unable to identify him, Sanner said. DNA testing was then in its infancy but the department continued to send in the evidence from J.S.' case to the state crime labs as testing improved.
In 2015, the state crime lab linked DNA from J.S.' case to Heinrich. Investigators got a search warrant for Heinrich's house and while they didn't locate evidence for the Wetterling case, they did find a huge stash of child pornography, which County Attorney Janelle Kendall realized might be the leverage that could crack the Wetterling case, because child pornography carries a potential 20-year sentence per count.
She called Luger to tell him that as a team they might have the keys to crack the cold case that had brought the federal 1994 Jacob Wetterling Crimes Against Children and Sexually Violent Offender Registration Act, which requires states to maintain sex offender registries and guidelines.
The federal and state investigators talked to the Wetterlings and explained that the statute of limitations would not allow them to bring sexual assault or kidnapping charges and they did not have the evidence to prove murder, Luger said.
"Our goal was proof, answers and accountability," Kendall said. "He would not plead guilty to a murder we could not prove ... Jacob would not have been found. "
Patty and Jerry Wetterling agreed to support the deal. But it still took nearly a year for Heinrich to sign on.
"Heinrich was a volatile and unpredictable man who could want to talk one minute and then clam up," Luger said.
Ten days ago, his lawyer informed federal authorities that Heinrich was willing to make the confession. Investigators wasted no time in reaching the plea deal that was signed August 30.
"After 27 years, Danny Heinrich was ready to talk and we had to grab the moment," Luger said. "We knew he could change his mind at any time."
Last week Wednesday, he led authorities to a grave in a rural section of the county near Paynesville.
Authorities dug and uncovered a fragment of a red Saint Cloud hockey jacket that matched what Jacob was wearing when he disappeared.
Within two days, after re-interviewing Heinrich at length, they located bones, teeth and a T-shirt with the name "Wetterling" stenciled on it.
"The unthinkable admissions that we just heard in court should, of course, make all of us angry," Luger said. "We will all ask, many times, Why? And there is no good answer."