Rising food costs meant consumers had little left over to spend on a festive splurge, industry figures suggest.
Like-for-like retail sales, which exclude new store sales, rose 0.6% last month, down on December 2016's 1% rise.
Food sales accounted for most of the rise, with spending on non-food items such as clothing down sharply.
The British Retail Consortium, which produces the data with consultancy KPMG, said shoppers' spending power "had been absorbed by essential items".
It said this had forced shops which did not sell food to discount heavily in the lead-up to Christmas to try and encourage shoppers to spend more.
Whilst this had helped boost overall sales, the BRC said it hit many retailers' profits for the period.
Over the three months to December last year, sales of non-food items fell 3.7% – marking their steepest drop in five years, the BRC's figures showed.
Meanwhile, food sales for the same period rose 4.2%, their biggest rise in six months.
"The divergence between growth in sales of food and non-food has never been so stark," said BRC chief executive Helen Dickinson.
Inflation is currently at a near six-year high of 3.1%, easily outpacing the growth in average earnings.
The latest official data shows that food inflation in particular has picked up, with prices for fish, oil and fats such as butter and chocolate all higher.
This means that many shoppers are spending more on basic essentials.
Major non-food retailers have already indicated that they are feeling the strain.
On Monday, baby products chain Mothercare warned that annual profits would be substantially lower due to weak Christmas sales.
Last week, department store chain Debenhams issued a profit warning after reporting disappointing Christmas trading.
It subsequently emerged that rival chain House of Fraser was seeking to reduce rents on some of its stores, suggesting that it too was struggling.
However, sales at Next unexpectedly rose over the Christmas period, prompting the fashion retailer to raise its profit forecast.
Supermarket group Morrisons is due to report its festive trading figures later with Sainsbury, Marks & Spencer, Tesco, John Lewis and Waitrose set to report later in the week.