The world number eight was edged out 4-6 6-7 by her opponent in China in a time of one hour and 42 minutes.
The first set went the way of serve until the eighth game when Kerber lost out, but Svitolina failed to fully capitalise on the opening, losing serve herself in the following game.
It set up a tense finale, but the Ukrainian eventually prevailed to take a surprising lead in the match.
Both players lost serve on three occasions in the second set, and a tie-break was needed to separate the pair who were locked at 6-6.
Svitolina kept her cool despite losing two match points to come out on top 7-3 in the tie to set up a meeting with Petra Kvitova in the semi-finals.