Lopez was on the back foot immediately and had to save four break points in his opening service game.
He responded in the next, pushing Fish to deuce and earning some break points of his own but the American held firm.
Fish made the first breakthrough in the sixth game to take a 4-2 lead before going on to complete four games in a row and take the first set 6-2.
The 10th seed made his third break of the match to take a 3-1 lead in the second and went on to wrap up victory 6-2 6-3 in just over 80 minutes.
Fish, a two-time finalist at the Ohio tournament, takes on either Santiago Giraldo or Carlos Berlocq in the second round.