The Czech player raced to a 3-0 lead in the first set, but Williams regained her composure to break back in the fifth game.
Pliskova broke the Williams serve again in the sixth and eighth games to secure the first set. Williams double faulted to 30-40 and then sailed a backhand long on the final two points of the set.
In the second, Pliskova saved two break points in the third game, and then broke the Williams serve in the fourth game to take a 3-1 lead. She broke Williams again in the final game of the match.
Pliskova, making her second consecutive appearance in the WTA Finals, is now 1-0 in round-robin action in the White Group.
Williams, the only player of the eight in the WTA Finals not to win a title this year, falls to 0-1 in the group.