MIAMI -- Chris Coghlan snapped out of a season-long slump with a tiebreaking three-run homer off Tim Lincecum in the sixth inning Friday night, and the Miami Marlins rallied past the San Francisco Giants 7-6.