The Italian, 44, succeeds Jens Keller following the Bundesliga club’s inconsistent performances this season.
The team are currently 11th in the league, having won just two games this season and gained 8 points from seven games.
They are third in their Champions League group after two draws, including holding Chelsea 1-1 at Stamford Bridge.
Keller was hired by Schalke in December 2012, after being knocked out of the German Cup by lower opposition SG Dynamo Dresden earlier this season, his last game was a 2-1 defeat by Hoffenheim last Saturday.
This is Di Matteo’s first job since being dismissed by Chelsea in November 2012.
He took over as caretaker manager from Andre Villas-Boas in March 2012 and led the Blues to a Champions League Title and FA Cup trophy that season.
His success earned him a new two-year deal but he started poorly in the following campaign which led to his exit.