Pendant la saison des classiques de 2012, il obtient son meilleur résultat lors de Paris-Roubaix, en prenant la sixième place. En juin, il prend la deuxième place de quatre courses néerlandaises : le Ronde van Zeeland Seaports, le Ster ZLM Toer, dont il gagne l'étape contre-la-montre, et les championnats nationaux de la course en ligne et du contre-la-montre. Aux Jeux olympiques de Londres, il représente les Pays-Bas lors des deux épreuves sur route. Pour la course en ligne, il fait équipe avec Robert Gesink, Sebastian Langeveld, Niki Terpstra et Lieuwe Westra. Il termine à la onzième place, dans le premier groupe arrivé après le vainqueur Alexandre Vinokourov et Rigoberto Urán. Il dispute ensuite le contre-la-montre avec Lieuwe Westra, et en prend la . Dix jours plus tard, il remporte l'Eneco Tour. Après le Tour d'Espagne, il participe aux championnats du monde sur route, dans le Limbourg néerlandais. Il prend d'abord la cinquième place du nouveau championnat du contre-la-montre par équipes de marques avec son équipe Rabobank. Il est ensuite l'un des quatre « coureurs protégés » de l'équipe des Pays-Bas pour la course en ligne. Il prend la cinquième place de ce championnat.