The Tasmanian-born princess was admitted to the Copenhagen University Hospital with her husband, Crown Prince Frederik, by her side earlier overnight.
Frederik, 39, said the birth took six hours and had been as beautiful and impressive as that of the couple's first child, Prince Christian, in October 2005.
"One wasn't as scared as the first time,'' he said.
The royal couple already have an 18-month-old son, Christian, but pundits were backing the princess to give birth to Denmark's first royal daughter since 1946.
They got their wish - Christian's sister is approximately 50cm long and all are in good health.
Mary, 35, was attended by the same team that delivered Christian, also born two weeks early.
The baby girl will be third in line to the Danish throne behind Frederik and Christian.