Di Matteo, who will be presented to the media on Wednesday, has signed a contract through to June 30, 2017 at the Veltins Arena.
Keller’s fate was sealed by a 2-1 defeat to Hoffenheim on Saturday, which left the Gelsenkirchen club 11th in the Bundesliga with just eight points from seven games.
Schalke are also third in their Champions League group after two draws in their first two matches, including a 1-1 stalemate with Chelsea at Stamford Bridge.
That impressive result, as well as a 2-1 win against Borussia Dortmund in the recent Ruhr derby, could not save Keller from the axe.
“The team’s performances in recent weeks have varied greatly. Even the positive tendencies such as seven points collected from the recent busy league schedule and the icing on the cake that was the derby win haven’t shown a lasting effect,” said sporting director Horst Heldt in a statement on the club website.
“We’re lacking the consistency needed in order to achieve our goals. That’s why we have decided to take this step.
“By changing the manager, we want to create new momentum,” added Heldt. “We’re utterly convinced that Roberto di Matteo will stabilise the team and achieve our goals in the Bundesliga and Champions League.”
Di Matteo, 44, starred as a player for Italy and Chelsea. He scored 26 goals for the London club in 119 appearances from 1996 to 2002 winning the FA Cup (1997 and 2000), Football League Cup (1998), FA Charity Shield (2000), (UEFA Cup Winners’ Cup (1998) and UEFA Super Cup (1998).
This is his first job since being dismissed as Chelsea manager in November 2012.
He had taken over as caretaker Chelsea manager from Andre Villas-Boas in March 2012 and led the Blues to the Champions League title and FA Cup trophy that season.
His success earned him a permanent deal but when he struggled in the following campaign his reign was brought to an end.
He has also managed Premier League club West Bromwich Albion.
Keller had taken over at Schalke from Dutchman Huub Stevens in December 2012.
He is the second coach to lose his job in the Bundesliga already this season, after Hamburg parted company with Mirko Slomka.
Di Matteo will face his old club in Champions League Group G match in Germany on Tuesday, November 25.