Per la stagione 2012 firma un contratto con la squadra statunitense BMC Racing Team, capitanata da Cadel Evans. In stagione vince la cronometro conclusiva del Giro d'Italia a Milano davanti a Geraint Thomas e Jesse Sergent, suo secondo successo nella corsa rosa. Dopo il Giro conclude terzo ai campionati italiani a cronometro a Levico Terme e quindi, dopo aver vinto una prova contro il tempo al Giro d'Austria, quinto nella cronometro su strada dei Giochi olimpici di Londra, a 2'09" dal vincitore Bradley Wiggins.