Jorge Alfaro had a career-high four hits and the Marlins handed the Giants their seventh consecutive loss with a 4-2 victory Wednesday night.