A beaming Prince Harry said they were “absolutely thrilled” and thanked the public for their support.
He said Meghan and the baby were doing “incredibly well”, adding that they were still thinking about names for the infant, who was delivered at 05:26 BST.
Buckingham Palace said the baby weighed 7lbs 3oz (3.2kg), and that the duke was present for the birth.
The baby boy is seventh in line to the throne, behind the Prince of Wales, the Duke of Cambridge and his children – Prince George, Princess Charlotte and Prince Louis – and Prince Harry.
He is the Queen’s eighth great-grandchild.
Speaking after the birth, Harry said the child had been “a little overdue” and that he planned to make another announcement in two days’ time “so everyone can see the baby”.
Asked what it was like to be present for the birth, he laughed and said: “I haven’t been at many births. This is definitely my first birth. It was amazing, absolutely incredible, and, as I said, I’m so incredibly proud of my wife.
“As every father and parent will ever say, you know, your baby is absolutely amazing, but this little thing is absolutely to-die-for, so I’m just over the moon.”
He added: “It’s been the most amazing experience I could ever have possibly imagined.
“How any woman does what they do is beyond comprehension.”