The fifth-seeded Russian advanced with a hard-fought 6-7 (2-7), 7-5, 6-3 victory over third seed Sjeng Schalken of the Netherlands as he moved into the semifinals for just the second time in 10 events this season.
Also on Friday, eighth seed Jarkko Nieminen set up a semifinal showdown with Kafelnikov by crushing Radek Stepanek of the Czech Republic, 6-1, 6-1. Nieminen beat Kafelnikov earlier this season at the Australian Open.
The other semifinal also was set Friday as top seed Roger Federer of Switzerland downed sixth-seeded Russian Mikhail Youzhny, 6-2, 6-3, and Stefan Koubek of Austria bounced fourth seed Rainer Schuettler of Germany, 6-3, 6-4.
Federer is seeking his third title of the season, having won on the hard courts of Marseille and Dubai. Fifth in the ATP Tour Champions Race entering the week, Federer is competing in Munich for the first time.
After returning from a month-long injury absence, Koubek lost seven straight first-round matches before this week. He won the Qatar Open in his first tournament of the year, claiming his third career title and first since 2000.
The sixth-seeded Youzhny, hero of Russia's Davis Cup triumph last December against France, played in the semifinals here last year but was unable to duplicate that showing. He had four straight opening-round losses heading into Munich.
Kafelnikov is in the semifinals of an event for just the second time this year. It took him more than 2 1/2 hours to get there Friday. He needed three consecutive service breaks to grab a 5-3 lead in the deciding set.
"I don't care how I won it, the important thing is I did," said Kafelnikov, whose biggest clay victory was in the 1996 French Open. "It was a difficult match. Schalken showed why he's a consistent top-20 player."
Just months after he changed his mind about retirement, Kafelnikov's confidence is growing by the day as he finally starts to play well on the clay, where he used to excel. Of his 26 career titles, 14 have come on the dirt.