The wedding will be held in early 2008, after which Cavallier, 31, will be given the title Princess Marie, the court said in a brief statement.
Joachim, Queen Margrethe's second son, was divorced from Hong Kong-born Princess Alexandra in 2005, the first split in Europe's oldest monarchy in nearly 160 years. Joachim and Alexandra have two sons, 5-year-old Felix and 8-year-old Nikolai.
Engagement rumors had been growing in Danish tabloids after Cavallier, who lives in Geneva, spent Easter with the royal family.
"Her Majesty the Queen of Denmark and His Royal Highness the Prince Consort have the pleasure to announce the engagement of their son, His Royal Highness Prince Joachim to Miss Marie Cavallier," the palace said in a statement.
The announcement came after the queen informed the government about the wedding plans at a regular Council of State, a meeting during which the monarch is briefed about current political matters. Joachim, 38, and Cavallier both attended the Council of State.
Marie Agathe Odile Cavallier was born in Paris in 1976. Her parents divorced when she was 13, and she moved to Switzerland with her mother, according to Danish media.
Cavallier went to Boston College where she studied commerce and marketing, and later moved to New York City where she worked with an IT company, Danish news agency Ritzau said. Cavallier, who speaks French, Italian, English and Spanish, now works with her father's investment company in Geneva.
The palace said Cavallier will convert from Roman Catholicism to Denmark's Lutheran Evangelical Church, and abandon her French citizenship to get a Danish passport.
Joachim is fourth in line to Denmark's throne after his brother Crown Prince Frederik and Frederik's children, Prince Christian and Princess Isabella. Frederik married Australian commoner Mary Donaldson in 2004.
King Christian IX, Joachim's great-great-grandfather, is often called the father-in-law of Europe's royals. At the end of the 1800s, Christian and Queen Louise succeeded in marrying their six children into the dominant European royal houses. Today their descendants are to be found in 10 European countries.
Alexandra, 44, gave up her royal title on March 3 when she married a Dane. She is now known as Alexandra Christina, Countess of Frederiksborg.