The former Chelsea and Wigan forward, who joined the northern Germany 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 Werder bidding the player farewell on Saturday.
“Franco Di Santo is leaving Werder Bremen with immediate effect,” said a press release from Werder.
“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, netting 17 goals.
His move to Schalke is set to be confirmed also on Saturday with the Argentinian forward due to link up with the Royal Blues this weekend.