An investigation by Which? shows that on average people are left waiting on hold for anything between 21 seconds (Ebico) to 17 minutes and 5 seconds (Npower) before they speak to someone.
Npower had the longest waiting time, with a caller for the investigation waiting for 29 minutes on one occasion before getting through. The shortest waiting time recorded in one single call was 4 seconds and that was to Ebico.
Consumers say they are fed up with waiting, with three in 10 (31%) saying that being left on hold for long periods before speaking to someone is one of their biggest bugbears when calling their energy provider's customer service.
The researchers called 16 energy companies 12 times each at set times of the day to find out how long customers could be left on hold. They recorded how long it took between finishing dialling the customer service number to getting through to an adviser and then calculated an average waiting time for each company.
Comparing these findings with a previous investigation researchers found that many firms are slower to pick up calls from existing customers than they are prospective ones.
Of the six major energy providers, the findings showed that all but Eon were quicker to answer calls to their sales number than calls to their customer services.
Richard Lloyd, executive director of Which?, said: "It's unacceptable that some energy suppliers are leaving their customers dangling on the phone for anything up to half an hour.
"If energy companies want to restore trust in the industry they must work harder to make people feel confident that customer service is a top priority, and stop putting sales over service. We'd like to see calls to customer service centres being picked up within two minutes."