The price of a call to directory enquiries will be capped at £3.65 for 90 seconds.
Phone industry regulator Ofcom says it is responding to a “steep” rise in prices.
The most popular service, 118 118, charges £11.23 for a 90 second call, the regulator said.
The number of calls being made to 118 services has been falling by 40% a year, but more than a million people a year still use the service.
Many of those using 118 services are elderly, Ofcom said.
Some providers charge even more, meaning a 90-second call can cost almost £20.
“Directory enquiry prices have risen in recent years, and callers are paying much more than they expect. Our evidence shows this is hurting people, with some struggling to pay their bills,” said Jane Rumble, Ofcom’s Director of Consumer Policy.