The difference in the price of a pint of beer is now more than £1 across the country, with London no longer having the most expensive drinks.
The average pint now costs £3.60, up by 13p on last year, with prices ranging from £3.31 in Yorkshire to £4.40 in Surrey.
Research for the new edition of the Good Pub Guide showed it was the first time in its history that the capital was not the most expensive place to drink beer.
Beer in pubs brewing their own brands was typically £3.09 apint.
Other counties where beer is cheaper included Shropshire (£3.33 a pint), Derbyshire (£3.36), Cumbria (£3.38) and Worcestershire (£3.38), while drinkers will find their favourite brew more expensive in Sussex (£3.82), Hertfordshire (£3.81) and the Scottish Islands (£3.80).
The Guide showed that increasing numbers of pubs are offering accommodation, food and outside catering services, taking business away from restaurants.
Some pubs have delis offering offering local produce and take-away meals, while others keep rooms free for book clubs, live music or conferences, said the Guide.
Fiona Stapley, the Guide's editor, said: "You name it and pubs have thought of it. It's this entrepreneurial spirit that will keep pubs alive and kicking for years to come, despite all the doom and gloom around."