Plenty of pubs doing it, All Bar One in Old Bailey for example
I am not surprised, but the law requires any business where you are settling a debt to accept cash, a debt can be said to be any service provided to you and food and drink are well within that "debt/service" area.
Now here's where the law gets silly, a private business can refuse to sell you something, but at the same time, as I point out above, it cannot define the manner in which you may choose to pay. I guess that's what Sheffield and others are relying on, just not selling you a beer unless you can pay by card, which is technically illegal, but....... they are within their rights to refuse a service to you. Clear? No, thought not but that's the law, murky as f..k here.
Just another of your rights as citizens pissed away for the convenience of governments ( they would save billions on printing if we did away with money full stop, also they want every penny you have in cash tucked under the matress (they know how much that is bye the way, but not who has it) accountable so they can tax you, businesses, especially banks, and we should have learned by now that if its good for them it's bad for us.