Research for the new edition of the Good Pub Guide showed that the average cost of a pint in Yorkshire is £3.31, making the county the cheapest place to buy one in the country, along with Hertfordshire.
The average pint now costs £3.60, up 13p on last year.
The study found that London no longer has the most expensive drinks in England - beer-lovers have to fork out the most for a pint in Surrey, with an average cost of £4.40.
It is 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 a pint.
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.”