Also, Tommy Haas of Germany reached his first ATP tour quarter-final in more than two years by defeating Aljaz Bedene of Slovenia 4-6, 6-4, 6-1 in the second round.
The third-seeded Melzer, who had a bye in the first round, held serve throughout and didn't face a break point until in the third game of the second set.
"I did not start well in the match but I served well so I could rely on that," the Austrian said. "After the first couple of games, I felt more secure and (Garcia-Lopez) started to make some mistakes."
Melzer's match was initially scheduled for Wednesday but he asked organisers for an extra day off to rest a right thigh injury.
"I felt it two or three times in the match, but I'm happy with how it is now," said Melzer, who will play sixth-seeded Kevin Anderson in the quarter-finals.
The former second-ranked Haas, who missed the entire last season because of hip and elbow surgery, started to serve better after losing the opening set to Bedene and finished with 10 aces.
Haas, who won the event in Vienna in 2001, will play second-seeded Juan Martin Del Potro for a place in the semi-finals.
Also, the 182nd-ranked Daniel Brands of Germany upset fourth-seeded Radek Stepanek of the Czech Republic 6-4, 7-6 (4), and next plays Steve Darcis of Belgium, who downed Austrian wildcard Dominic Thiem 6-2, 6-2.
Fellow Belgian player Xavier Melisse rallied to beat the eighth-seeded Fabio Fognini 6-7 (3), 6-3, 6-3 and set up a quarter-final match against either top-seeded Jo-Wilfried Tsonga or Jarkko Nieminen of Finland.
Results on Thursday at the Erste Bank Open, an ATP tour event on indoor hard courts at the Wiener Stadthalle (seedings in parentheses):
Singles
Second Round
Tommy Haas, Germany, def. Aljaz Bedene, Slovenia, 4-6, 6-4, 6-1.
Daniel Brands, Germany, def. Radek Stepanek (4), Czech Republic, 6-4, 7-6 (4).
Steve Darcis, Belgium, def. Dominic Thiem, Austria, 6-2, 6-2.
Xavier Melisse, Belgium, def. Fabio Fognini (8), Italy, 6-7 (3), 6-3, 6-3.
Jurgen Melzer (3), Austria, def. Guillermo Garcia-Lopez, Spain, 7-5, 6-1.
Jo-Wilfried Tsonga (1), France, def. Jarkko Nieminen, Finland, 3-6, 6-1, 3-1, retired.