The former Chelsea and Wigan forward, who joined the Bundesliga club side on a free transfer in 2013, still had a year left to run on his contract in Bremen.
However, a predetermined release clause – reported to be in the region of six million euros – meant the 26-year-old could leave at any time should a club meet the full amount.
Schalke are understood to have triggered that release clause with Bremen, bidding the player farewell on Saturday.
“Franco Di Santo is leaving Werder Bremen with immediate effect,” a club press release said.
“The Argentinian is taking advantage of a release clause in his contract and is no longer part of our squad.
“Our game against Sevilla on Saturday afternoon will therefore take place without the forward.”
Di Santo played 49 times in the Bundesliga for Bremen, scoring 17 goals.
His move to Schalke is set to be confirmed on Saturday, with the Argentinian forward due to link up with his new club this weekend.