He might not have scooped the golden double he was aiming for, but he is still the first South African athlete to land two sprint medals at a single meet.
Van Niekerk and Ramil Guliyev were neck and neck down the home straight but it was the Turk who hit the line first in 20.09sec.
Van Niekerk clocked 20.11, edging Jereem Richards of Trinidad and Tobago into third place by one-thousandth of a second.
Isaac Makwala of Botswana was sixth in 20.44.
These are also the second world championships in a row with a South African medallist in this event, after Anaso Jobodwana took bronze in Beijing in 2015.
Guliyev was the only survivor from the finals at the 2015 world championships and Rio Olympics.
It was a solid performance for Van Niekerk who had struggled in the semifinals, nearly missing out on a spot in the final.
This was also SA’s fifth medal in London, making these championships the most successful for the nation; the two gold, silver and two bronze eclipse the two gold and silvers from Paris 2003.