The German government is taking a 98.5% stake in Uniper, one of the country's biggest suppliers.
Under the terms of the deal, the German government will buy Fortum's shares in Uniper for €500m and inject €8bn of cash into the business.
The government had already agreed to take on a 30% stake of Uniper as part of a bailout agreement in July. Economy minister Robert Habeck said nationalising Uniper was a "necessary" step that would help "ensure security of supply for Germany". "This means that, as a whole, we have coped quite well with the situation," he said. "But for Uniper the situation became significantly more dramatic and significantly worse."Mr Habeck said the levy on consumers would make sure the country's energy providers remained viable.