Two people were critically injured and immediately taken to hospital on landing.
Flight SA286 left Johannesburg on Tuesday and landed in Hong Kong on Wednesday.
The airline said 165 passengers were on the plane when the turbulence struck over Malaysia.
Witnesses on the flight told Hong Kong newspaper the South China Morning Post that many passengers hit the cabin ceiling, causing head and neck injuries.
Local television images showed ambulances on the tarmac at Hong Kong's airport taking away the injured after the plane landed at around 12:30pm local time (0430 GMT).
A spokesman for South African Airways said 17 passengers and three crewmembers were injured, although details of the injuries have not yet been given.
Speaking to local press, the Hong Kong fire department spokesman said 14 ambulances, four fire engines, a mobile casualty treatment centre and a mobile command unit were sent to the scene.
At least 20 people have been injured when a South African plane to Hong Kong encountered severe turbulence.