Le , Chavez devient joueur autonome[2]. En février 2011, il signe une entente des ligues mineures avec les Yankees de New York[3]. Réserviste au troisième but, Chavez ne dispute que 58 parties des Yankees en 2011, obtenant deux circuits et 26 points produits tout en frappant pour une moyenne au bâton de ,263. Il se brise le pied gauche début mai dans un match contre les Tigers[4] et est absent du jeu pendant onze semaines[5].
Le , Chavez signe un nouveau contrat d'une saison avec les Yankees[6]. Chavez dispute 113 matchs pour les Yankees en 2012, obtenant 16 circuits et 37 points produits. Il frappe pour ,281 de moyenne au bâton. Outre une brève absence pour une commotion cérébrale[7], subie après avoir plongé pour tenter de saisir une balle frappée par J. J. Hardy des Orioles le [8], c'est la première fois qu'il demeure avec son club à peu près toute l'année après cinq saisons marquées par les blessures à Oakland et New York[9]. En matchs d'après-saison, il est appelé à remplacer Alex Rodriguez, inefficace à l'attaque, au troisième coussin pendant la Série de division contre Baltimore et la Série de championnat contre Détroit[10].
Diamondbacks de l'Arizona
Alex Rodriguez étant sur la liste des joueurs blessés pour le début de la saison 2013, Eric Chavez est une alternative pour occuper le troisième but chez les Yankees[11] mais, devenu agent libre, le vétéran signe un contrat d'un an pour trois millions de dollars le avec les Diamondbacks de l'Arizona[12].
Chavez dispute 80 matchs en 2013, surtout comme substitut à Martín Prado au troisième but et à Paul Goldschmidt au premier but[14]. Souvent appelé comme frappeur suppléant[15] gaucher, il maintient une moyenne au bâton de ,281 pour la saison avec 9 circuits et 44 points produits. Le , il signe un nouveau contrat pour la saison 2014 des Diamondbacks[14].
Chavez joue son dernier match dans le baseball majeur le [16]. À l'écart du jeu en raison d'une blessure au genou gauche, le joueur de 36 ans annonce sa retraite le suivant[17].