Speaking to press outside the hospital, her husband Prince Frederik described the arrivals as a "miracle times two".
The Princess was due to deliver next week, but after two false alarms the births of a healthy baby boy, weighing 5lb 9oz, and girl weighing 5lb 7oz were put forward.
The question on everyone's lips now is what the royal couple will choose as names for their new children.
Prince Frederik jokingly told press that they hadn't decided on any names yet but since he had heard that his twin son shared the same birthday as the king of rock and roll, they would call him Elvis for now.
According to Danish tradition, the names of royal babies are not announced until their christening, three months after their birth. So the couple have a while longer to decide on the perfect names.
The two new arrivals will become siblings to Mary and Frederik's other children, Christian, five, and three-year-old Isabella.