James Bond blockbuster Skyfall has regained the top spot in the U.K. box office after fighting off competition from the final film in the Twilight vampire franchise.

The 007 movie, starring Daniel Craig as the suave superspy, raked in $3.7 million (£2.3 million) - taking its total earnings over 40 days up to $150.8 million (£94.2 million) and making it the highest-grossing movie in British cinema history.

The Twilight Saga: Breaking Dawn - Part 2, starring Robert Pattinson and Kristen Stewart, slipped to second place with takings of $3.5 million (£2.2 million) after two consecutive weeks at number one, while animated film Rise of the Guardians took third place with just under $3.2 million (£2 million).

Christmas movie Nativity 2: Danger in the Manger! fell to fourth place, while Bradley Cooper and Jennifer Lawrence's drama Silver Linings Playbook rounded out the top five with $1.1 million (£749,055).