"The Duke and Duchess of Cambridge are delighted to announce that they have named their son George Alexander Louis. The baby will be known as His Royal Highness Prince George of Cambridge," the palace said in a statement.
George had been the bookies' favourite for the first name of the prince, who is destined to be king one day.
James and Alexander, which is Prince' second name, were among other names on a short-list.
The Queen was reportedly told of Prince George's name when she met him for the first time today.
More From This Section
The Duke and Duchess with their newborn son are currently at the duchess's family home in Bucklebury, Berkshire, after spending a night at Kensington Palace.
Royal infants usually have historical names which are passed down through the generations.
There have already been six British monarchs called George - the last being the Queen's father, George VI. Louis is also a favourite and was the name of Lord Mountbatten, the uncle of the Duke of Edinburgh and India's last Viceroy.
This is a relatively quick announcement of a name compared with previous royal babies.
It was seven days before the name of a newborn Prince William was announced in 1982, and there was a wait of a month following the Prince Charles's birth in 1948.
The announcement at 6:20pm (local time) showed the couple have chosen to stick with very traditional royal names.
The Queen, Prince Harry and Pippa Middleton were among the visitors to the palace.
The Queen made the short journey from Buckingham Palace to Kensington Palace, William and Kate's home in central London, to see the baby.
A Kensington Palace spokesman said it was "now private and quiet time for them to get to know their son".