Mrs Brown’s Boys gave the BBC the top rated show on a single channel on Christmas Day with 6.8 million viewers.
The Queen’s message attracted 7.8 million viewers over BBC1, ITV and ITV’s catch-up plus-one channel, and was also broadcast on Sky.
BBC1 took the six most popular shows of the day, with the Strictly Come Dancing Christmas special coming second with 6.5 million viewers.
Hit soap EastEnders and period drama Call The Midwife were next, both with 6.3 million, followed by the Queen’s Christmas broadcast on BBC1 (5.9 million), which was also seen by 1.9 million on ITV.
The Christmas message beat Doctor Who, which was sixth with 5.7 million.
In the top 10, ITV got a look-in at seventh place with Coronation Street, at 5.1 million, including its plus-one catch-up channel.
Charlotte Moore, director of BBC content, said: “Millions of people chose BBC1 on Christmas Day and came together to enjoy the top six most popular programmes from comedy, drama and entertainment, with Mrs Brown’s Boys returning to the top spot.”
Last year the Strictly Come Dancing Christmas special was the most popular programme on TV on Christmas Day, with an average audience of 7.2 million watching head judge Len Goodman’s final appearance on the panel.
Channel 4 said The Great British Bake off attracted the broadcaster’s biggest Christmas Day overnight audience since modern records began in 2002.
It won an average audience of 3.1 million viewers and a 13.6% share of audience from 7.40pm to 9pm, peaking with 3.4 million viewers.
The previous biggest Christmas Day broadcast on Channel 4 was Home Alone in 2016 which drew three million viewers.
After Coronation Street, ITV’s biggest success was fellow soap Emmerdale with 3.7 million viewers – 10th on the list of most popular shows.
TV drama Victoria attracted 2.7 million, below Paul O’Grady For The Love of Dogs At Christmas (3.4 million) and the film Harry Potter And The Prisoner Of Azkaban (2.8 million).
BBC News was eighth in the top 10, with 4.2 million viewers, and The Highway Rat, also on BBC1, was ninth with four million.