The second-seeded Djokovic trailed by a set and a service break before rallying against the sixth-seeded Swiss.
The 22-year-old Serb had to work hard for this win, a day after breezing past Jan Hernych 6-0, 6-0 - his first double bagel in an elite tournament.
Story continues below ↓advertisement | your ad hereDjokovic will play fifth-seeded Radek Stepanek of the Czech Republic on Saturday.
Stepanek converted all four of his break points as he fought back to beat fourth-seeded Marin Cilic of Croatia 4-6, 6-3, 6-3.
Djokovic reached the semifinal stage for the 14th time in 20 tournaments this year, and extended his ATP Tour-leading win total to 69.
Wawrinka broke Djokovic's serve in the eighth game of the opening set, and then for a 4-3 lead in the second.
But Djokovic struck back immediately and went on to take an early lead in the tiebreaker. Wawrinka sent a backhand long on the first set point he faced.
Djokovic raced to a 4-0 lead in the deciding set and soon closed out the win, his sixth straight over Wawrinka.
Stepanek stayed in contention for a place at the ATP Tour finals in London this month, but the loss hurt Cilic's chances.
The 21-year-old Croat likely has to win the Paris Masters next week to qualify for the eight-player lineup.
In later matches, three-time defending champion Roger Federer faced Russian qualifier Evgeny Korolev, and Swiss wild card Marco Chiudinelli played Richard Gasquet of France.
© 2009 The Associated Press. All rights reserved. This material may not be published, broadcast, rewritten or redistributed.Roddick retires with knee pain at Shanghai MastersLa Liga round-up