The 27-year-old Czech cruised past Garcia-Lopez 6-3, 6-2 in a match that last just over an hour.
Rosol won seven straight games following a 3-3 tie in the first set.
His previous best performance was a quarterfinals appearance at Zagreb in February.
Spain's Garcia-Lopez, meanwhile, was appearing in his first final since winning the Bangkok event in 2010.
He fell to 2-2 all-time in finals.
Swim Week Miami Beach 2014 [PHOTOS]