Dutchman Keizer was cut loose on 3 September after Sporting won only two of its first five matches of the season across all competitions, a run that included a humiliating 5-0 loss to bitter rival Benfica in the Super Cup.
Leonel Pontes stepped in as interim coach, although he failed to win any of his four games at the helm, losing three.
Everton's Marco Silva had been linked with the vacancy, but it is Silas who will take over, returning to work having been sacked by Belenenses SAD the day after Keizer lost his job.
The 43-year-old had been appointed by Belenenses SAD ahead of their first ever season existing as a separate entity after last year's acrimonious split from historic club Belenenses, which was forced to start again in a regional Lisbon league as a result of the contractual dispute.
Silas guided the SAD club to a respectable ninth-place finish in the Primeira Liga last term, but he was shown the exit after it failed to score a single goal in its opening four games of the 2019-2020 season.
His first match in charge of Sporting, for which he played as a youngster, will be at Desportivo Aves on Tuesday (AEST).
Silas said: "I'm very happy and even surprised because I left a club so recently and did not think I would receive an invitation from Sporting CP, but here we are. Everything has gone so fast in my career."