Rocketing wholesale energy costs following Russia's invasion of Ukraine have led to record high household energy bills, adding to inflation and a cost of living squeeze.
The government has introduced a price guarantee, subsiding bills to make sure the cost of an energy bill for a household using an average amount of energy does not go above 2,500 pounds ($2,964) a year, but this sill almost double the cost of an average bill last winter.
In total, regulator Ofgem said 17 firms, making up the bulk of the market, needed to do more to help vulnerable customers cope with the unprecedented rises.
"What we're seeing across the board, I'd say, is the need for improvement," Ofgem CEO Jonathan Brearley said on BBC radio.
"We've got stories where customers have been left in incredibly difficult circumstances. So, for example, an elderly gentleman was simply cut off through the smart prepayment meter and left for almost two weeks without power," Brearley said.
Ofgem identified five firms with severe weaknesses such as inadequate data and policies including Good Energy, Outfox, SO Energy, TruEnergy and Utilitia.
SO Energy said it took its responsibilities to vulnerable customers extremely seriously, that Ofgem's findings were based on incomplete information and that it had provided extensive additional information to the regulator. The other companies could not immediately be reached for comment.
Moderate weaknesses, such as not having sufficient training for staff were found at five other companies.
Ofgem said some firms' failings also included not identifying vulnerable customers in need of support and eligible customers missing out on free gas safety checks.
Britain's National Grid warned last month homes could face three-hour long power cuts if it does not have enough gas and electricity imports.
Vulnerable customers, particularly those who reply on power for medical equipment, should register with their suppliers to make sure they are on a Priority Services Register to ensure they receive extra help if power cuts are needed, Ofgem said.
($1 = 0.8436 pounds)
(Reporting by Susanna Twidale Additional reporting by Kylie MacLellan; Editing by Mark Potter)