Perez had won four straight AL Gold Glove Awards from 2013-16 before being beat out this season by the Angels' Martin Maldonado.
The awards were voted on by managers and coaches from the American and National Leagues and honor the best individual fielding performances at each position in both leagues.
Gordon, the Kansas City Royals' left fielder, was named an American League Gold Glove victor for a fifth time in his career.
Buxton and Twins second baseman Brian Dozier were also among the first-time winners. Reds catcher Tucker Barnhart and Marlins left fielder Marcell Ozuna also won for the first time. Diamondbacks pitcher Zack Greinke won for the fourth time in a row, while Kansas City first baseman Eric Hosmer received his fourth award for defensive excellence. Hosmer is tied with the Dodgers' Adrian Gonzalez for most Gold Gloves among active first basemen.More news: Trump administration ends immigration program protecting Central Americans from deportation
Giants shortstop Brandon Crawford picked up his third-consecutive Gold Glove, in the process becoming the first National League shortstop to three-peat since Jimmy Rollins in 2007-09. That 52-game errorless streak was the longest of his career, but then after that miscue finished the season with another 57 consecutive scoreless defensive apps to establish another career best. His SABR Defensive Index of 14.1 was far superior to Gomes (3.5).
Here's a full list of the 2017 Gold Glove Award winners.
Each manager and up to six coaches on his staff vote from a pool of qualified players in their League and can not vote for players on their own team.