Subotic - whose contract was due to expire at the end of the season - had been on the books at Dortmund for just under 10 years after joining from Mainz in June 2008.
The Serbian became a key player under Jurgen Klopp and was part of the team that won back-to-back Bundesliga titles in 2010-11 and 2011-12, before also playing in the Champions League final the following year as Dortmund were defeated 2-1 by Bayern Munich.
Injuries have troubled Subotic in the last two-and-a-half years and he has played just 10 Bundesliga games for Dortmund since the start of the 2015-16 campaign.
He spent the second half of last season on loan at Cologne and returned to Dortmund for the new season, but he has only featured four times since in the league and has opted to move on.
Upon signing a one-and-a-half-year deal with the French side, Subotic bid farewell to Dortmund, whom he says it has been an "honour" to play for.
"I would like to thank BVB wholeheartedly for the nine years at BVB," he said in a statement on Dortmund's website.
"Over the years, we have experienced many things together, mourned together and celebrated together. This time I will forever carry in my heart.
"Thanks to all Borussia fans for this wonderful time, because without your support, they would not have been possible. It was an honour for me to celebrate big titles for our team and the whole city.
"These moments have connected me with BVB and especially with the people behind it. This connection will last forever."