Subotic, who helped his team to consecutive German league titles in 2011 and 2012, underwent further tests that revealed the full extent of the injury, which he picked up in their training camp in Spain on Saturday, Dortmund said in a statement.
"He will be out for about six weeks," it said. "This means he will miss the first Bundesliga matches at the start of the year."
The 24-year-old Serbia international signed a two-year contract extension earlier this week that will keep him at the Ruhr Valley club until 2016.
The Bundesliga resumes next week after a four-week winter break with Dortmund in third place, 12 points off leaders Bayern Munich.
Dortmund also face Ukraine's Shakhtar Donetsk in the Champions League last 16 next month.