Consumers spent £1bn more on groceries in the final 12 weeks of last year than in 2016, according to figures from market researcher Kantar Worldpanel.
The average household spent a record £1,054, while a record £469m was spent on premium own label lines.
Separately, a British Retail Consortium report said rising food costs meant people had less money for other items.
Like-for-like retail sales, which exclude new store sales, rose 0.6% last month, down on December 2016’s 1% rise.
The BRC said food sales accounted for most of the rise, with spending on non-food items such as clothing down sharply.
The Friday before Christmas was the busiest grocery shopping day ever recorded, according to the Kantar data.
A total of £747m was spent that day, 22 December, and Fraser McKevitt, head of retail and consumer insight at Kantar, said: “Shoppers are splashing out despite fewer promotions to tempt them.
“Only 36% of spending was on items on offer this year – the lowest level of promotional activity at Christmas since 2009.”
Tesco was the fastest growing of the big supermarkets over the period, with sales up by 3.1% over the 12 weeks, while Aldi and Lidl were neck and neck in the chase to be the country’s fastest growing supermarket overall, with sales rises of 16.8% year-on-year.
“In some ways Christmas is a tricky time for the discounters: they tend to lose a little market share compared to earlier in the year as many shoppers return to the more traditional supermarkets in search of old favourites,” added Mr McKevitt.
“Rising to the challenge, Aldi and Lidl collectively managed to attract nearly one million additional households during the past three months.”
The BRC, which produces its 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.