Avoiding arbitration with the Twins at $1.475 million for the 2016 season, Núñez entered the season expecting to compete for a reserve role. On the Twins Opening Day roster in 2016, Núñez impressed in April, hitting .373 in 18 games in a reserve role. However, following an injury to shortstop Eduardo Escobar, Núñez began earning more playing time as the team's starting shortstop. With an injury to third baseman Trevor Plouffe, Núñez remained in the lineup following Escobar's return. He became the Twins' leadoff hitter. On July 5, Núñez was named to his first All-Star Game. In 91 games with the Twins to begin 2016, Núñez batted .296 with 27 stolen bases, 12 home runs, and 47 RBI.
On July 28, 2016, the Twins traded Núñez to the San Francisco Giants for left-handed minor league pitcher Adalberto Mejía. In 50 games with the Giants to finish 2016, Núñez batted .269 with 13 stolen bases, 4 home runs, and 20 RBI. Overall in 2016, combined with both teams, Núñez played 141 total games with a .288 batting average, 40 stolen bases, 16 home runs, and 67 RBI.