Now 35, a man named only as Anton F., told a judge in Brandenburg how he killed the driver, whose death was never solved by the authorities, Der Spiegel magazine reported on its website on Friday.
"Without his confession it is certain that the case would never have been solved," said judge Sabine Schwesig as she jailed him for five-and-a-half years on Thursday.
She called the case “relatively unusual” in that it was a crime committed by a teenager, but she was judging a grown man. But said she had to mete out justice and convicted him of manslaughter and sent him to prison.
Back in 1994, Anton F.was 19 and freshly moved from Kazakhstan to Brandenburg state when he decided to run off from the taxi without paying the fare after an evening spent drinking.
But the driver, named only as Kurt H., caught him and would not let him flee. Anton F. said he stabbed the driver in the neck with a kitchen knife he had in his pocket.
In the ensuing struggle, the driver hit him over the head with a chunk of wood and then Anton F. said he grabbed a piece of wood and smashed the driver over the head several times.
He then told the court he set fire to the taxi and fled. He only realised the man had died when he later saw local taxis decorated with mourning colours.
Der Spiegel reported that Anton F. later moved to North Rhine-Westphalia where he started a family, but was plagued with problems, split from his girlfriend and was at one point diagnosed with paranoid schizophrenia.
It is not known whether his mental illness was connected to the continuing guilt he carried about the taxi driver.
Last October he cancelled his phone and electricity contracts and went to initially sceptical police to admit his crime.
It is not clear why Anton F. decided to admit to the killing so long after the fact.
But his lawyer told Spiegel his client was a man of conscience, even once returning a wallet filled with €400 to its rightful owner without being asked.