À la suite du désistement de Ludovic Turpin, il est engagé sur le Tour d'Italie 2009 durant lequel il s'illustre en étant échappé à trois reprises (6e, 14e et 20e étapes). Il termine 23e de la 14e étape, jugée au sommet du San Luca de Bologne, et 87e du classement général. En fin de saison, il s'avère être un coéquipier utile pour Romain Sicard qui remporte le Tour de l'Avenir.
En 2010, il est de nouveau aligné sur le Tour d'Italie mais est contraint à l'abandon à la suite d'une chute lors de la sixième étape. Il est engagé pour la première fois sur le Tour d'Espagne lors de cette même année. Il y est actif (échappé lors de la quatrième étape) et termine 58e au classement général. En fin de saison, il termine le Tour de Lombardie à la 22e place. Il ne parvient pas à obtenir de place dans les dix premiers d'un classement général.
Il entame en 2011 sa troisième année avec l'équipe Ag2r La Mondiale. Sur le Tour d'Espagne, il signe sa meilleure performance sur un grand tour (26e), ce qui constitue l'unique fait remarquable de cette année discrète.
La saison 2012 s'avère être un meilleur cru pour Bonnafond qui participe pour la troisième fois de sa carrière au Tour d'Italie. En l'espace d'une semaine lors du mois d'août, il finit deuxième de Paris-Corrèze et septième du Tour de l'Ain après avoir décroché des places d'honneur sur les étapes reines.