A stunning free-kick from Barcelona full-back Daniel Alves with just two minutes remaining proved enough to give Brazil a narrow 1-0 victory over host nation South Africa in Thursday’s second Confederations Cup semifinal in Johannesburg. With the match heading for extra-time, substitute Alves smashed home a vicious strike from the edge of the area, after a foul on Ramirez by Aaron Mokeona, as Dunga’s side secured a clash with the United States — whom they have already beaten in the group stages — in Sunday’s Ellis Park final.