The regional court in the southwestern city of Freiburg found the defendant, identified only as 40-year-old Catalin C., guilty at the end of a high-profile trial that began in November.
Presiding judge Eva Kleine-Cosack found an "extreme severity of guilt" when handing down the verdict, meaning that Catalin C. will probably serve more than the 15-year minimum usually associated with a life sentence in Germany.
He had admitted in court to sexually assaulting and killing a 27-year-old German woman who had gone for an afternoon run.
He said at the start of his trial that he attacked the woman with a bottle and that he was "shocked" by his own actions.
"What I have done is unforgivable," he said.
He denied having a sexual motive for the crime, as alleged by the prosecution.
Prosecutors claim that Catalin C. raped the young woman and then beat her with an iron rod until she died. It took days and a large search operation before her body was found in the woods outside Freiburg.
Catalin C. was arrested in June and investigators have since said that forensic evidence links him to the unsolved murder of a 20-year-old French exchange student in the Austrian town of Kufstein in 2014.
The woman, from the French city of Lyon, was also raped before she was killed.
German news agency DPA, citing the court, reported that Catalin C. admitted to the murder in Austria during a psychological examination.
A Freiburg court spokesman told DPA that Austria had already filed an extradition request to try him there.
But Catalin C. can still appeal the ruling in Germany, which would delay any transfer out of the country.