The 61-year-old from Sedgley had been out doing her weekly shop with her husband Graham at Asda Tipton in Gospel Oak when she realised she had been charged more than £50 for a small cabbage.
She said: "We were at the checkout and we went to pay and my husband said that the bill was a little steep, but I didn't think anything of it to be honest.
"It's not unusual for us to spend a little more if there is a deal on. We had bought extra items including biscuits and a few items for the Tipton Food bank and coffee for my son, so I thought nothing of it, but my husband kept grumbling about the amount all the way out of the shop and across the car park."
She continued to walk towards her car, but she had a nagging feeling and checked her receipt. To her surprise, instead of paying 30p for the small cabbage, she had paid £53.55. "I wasn't angry, more amused at first," said Mrs Hudson, who said the mistake had not put her off shopping at Asda.
"We went back to the customer services and showed the lady my receipt. She was more shocked than I was and seemed very concerned."
The store gave Mrs Hudson a refund and a £2 voucher as a gesture of goodwill. "Although I found the whole thing rather humorous, some people may not have noticed and could have paid over the odds," said the grandmother-of-four.
A spokesperson for Asda said: "A system glitch meant that the cabbage was scanned at the wrong price. We're sorry for any inconvenience caused and we'll ensure this doesn't happen again."
This is the second time the supermarket chain has been caught out by a pricing error.
Last week John Brown, from Heath Town, was charged £453.19 for five items that should have cost less than £5 during a visit to Asda on Jack Hayward Way, Wolverhampton. The 37-year-old was also given a refund and gift card.