B.J. Upton had four hits, including the game-winning single in the 11th inning, and the Atlanta Braves beat the Miami Marlins 5-4 for their fifth straight win on Saturday night.