Cricket South Africa (CSA) made the announcement on Tuesday that Amla would take charge of the Test team. AB de Villiers was also in the running but Amla has got the nod. De Villiers was named the vice-captain.
The 31-year-old Amla's first assignment as captain will be against Sri Lanka in a two-match series next month. The first Test starts in Galle on July 16. The second and final Test is from July 24 in Colombo.
"I am humbled and honoured to be given this opportunity by CSA and the board. I look forward to giving this my all," said Amla after his appointment.
Smith was South Africa's Test captain for a very long time, leading the side in a record 109 matches. He played 117 Tests.
The new skipper paid tribute to Smith. "I'd like to pay tribute to Graeme Smith for leading us so well in the last 10 years I have been involved with the national team," the right-handed batsman said.
Amla, who has played 76 Tests, said he will not be copying others' leadership style.
"I learned that if you copy the leadership style of another captain, you will not be as successful as them. I want to see what I can bring," Amla said.
Smith congratulated Amla via Twitter. "Just landed in Jhb to news of @amlahash congrats my bud and excited to watch you shape proteas test future," he tweeted.
Just landed in Jhb to news of @amlahash congrats my bud and excited to watch you shape proteas test future.— Graeme Smith (@GraemeSmith49) June 3, 2014