The couple had announced on November 30 that they were expecting their second child. The baby would have been 18th in line to the British throne and the 90-year-old monarch’s sixth great-grandchild.
“Very sadly, Zara and Mike Tindall have lost their baby. At this difficult time, we ask that everyone respects their privacy,” the spokeswoman said.
The news comes as Britain’s royal family gather at the sovereign’s private Sandringham country estate in Norfolk, eastern England, for their traditional Christmas get-together.
The spokeswoman would not give any details about the circumstances surrounding the loss of the baby but it is understood Zara Tindall is not in any medical danger.
Buckingham Palace declined to comment.
Zara is an equestrian who won the 2006 eventing world championships and a silver medal for Britain at the London 2012 Olympics.
Though she is 16th in line to the throne, the 35-year-old daughter of Princess Anne has no title and does not carry out royal duties.
Mike Tindall, 38, is a former England rugby captain who was in the 2003 World Cup-winning squad. The couple married in Edinburgh in 2011.
Their first child, daughter Mia, was born in January 2014.
When news of their second baby was announced, their spokeswoman said the couple were “thrilled”, while Buckingham Palace said Queen Elizabeth, and the royal family were “delighted”.
Saturday’s news comes the day before the royals were due to appear in public together on their traditional walk to church in Sandringham for the Christmas Day service.