The Argentine world number five fought back from a set down against the German to claim a 3-6 6-3 7-6(4) victory on Wednesday.
Del Potro was subsequently forced to pull out of his doubles match with fellow countryman Carlos Berlocq.
"It was really tough for me," he told the ATP's official website. "I couldn't run a lot.
"I think my serve helped me a lot to keep playing for the three sets because I made many aces.
"With my serve I didn't run too much. I was lucky in the tie-break because he made a few mistakes. I won a really tough match."
Del Potro's reward for beating Kohlschreiber is a third-round tie against 11th seed Tommy Haas.