Mayer converted the only break point of the opening set and saved two set points for the 26th-ranked German in the second, before wrapping up the victory with a service winner in the tiebreaker.
"It was a bad match, I just couldn't find my usual game," 2012 finalist Kohlschreiber said.
"I didn't start well and was lacking confidence in my strokes."
The 78th-ranked Mayer, who also beat Kohlschreiber in straight sets in their only previous meeting at Roland Garros last year, will next play Marcel Granollers of Spain.
It will be Mayer's second quarter-final of the season after losing to Rafael Nadal in the last eight at Acapulco, Mexico, in February.
The eighth-seeded Granollers led Horacio Zeballos 6-0, 2-0 when the Argentine pulled out injured.
Granollers, who conceded only one point on serve, also reached the quarter-finals in Gstaad, Switzerland, last week.
Earlier Tuesday, two-time champion Robin Haase started his title defense by defeating Guillaume Rufin of France 6-4, 7-6 (7/4) in the first round.
The 68th-ranked Dutchman was a break up in the second set but lost his lead before converting his second match point in the tiebreaker.
He finished with 10 aces.
Haase, who won the event in 2011 and '12 and reached his third career final in Gstaad last weekend, will next play Daniel Brands.
The German beat fifth-seeded Carlos Berlocq of Argentina 7-6 (7/4), 2-6, 6-2.
Also, Andreas Haider-Maurer saw off Dennis Novak 6-4, 6-4 in an all-Austrian tie; Guillermo Garcia-Lopez of Spain rallied to beat Thomaz Bellucci of Brazil 6-7 (1/7), 6-3, 7-6 (7/4); Victor Hanescu of Romania defeated Aljaz Bedene of Slovenia 6-2, 6-1; and Jan Hajek of the Czech Republic ousted Aldin Setkic of Bosnia by the same score.
Results from the third day of the ATP Kitzbuehel Cup (x denotes seeding):
Leonardo Mayer (ARG) bt Philipp Kohlschreiber (GER x1) 6-4, 7-6 (7/4)
Marcel Granollers (ESP x8) bt Horacio Zeballos (ARG) 6-0, 2-0 retired injured
Guillermo Garcia-Lopez (ESP) bt Thomaz Belluci (BRA) 6-7 (1/7), 6-3, 7-6 (7/4)
Robin Haase (NED) bt Guillaume Rufin (FRA) 6-4, 7-6 (7/4)
Daniel Brands (GER) bt Carlos Berlocq (ARG x5) 7-6 (7/4), 2-6, 6-2
Victor Hanescu (ROM) bt Aljaz Bedene (SLO) 6-2, 6-1
Jan Hajek (CZE) bt Aldin Setkic (BIH) 6-2, 6-1
Andreas Haider-Maurer (AUT) bt Dennis Novak (AUT) 6-4, 6-4