Les principaux objectifs d'Elia Viviani en 2012 sont les championnats du monde sur piste et les Jeux olympiques, où il vise la médaille d'or de l'omnium. En début d'année, il gagne une étape du Tour de San Luis, le Grand Prix de la côte étrusque, les deux étapes et le classement général du Tour de la province de Reggio de Calabre et une étape de la Semaine internationale Coppi et Bartali. En avril, aux championnats du monde sur piste à Melbourne, il est dixième de l'américaine, du scratch, et abandonne lors de l'omnium à la suite d'une chute. En juillet, il représente l'Italie aux Jeux olympiques de Londres sur piste et sur route : il se classe sixième de l'omnium et de la course en ligne. En août, il prend le départ de son premier grand tour, le Tour d'Espagne. Il y est notamment deuxième des 7 et . Il est ensuite deuxième du Mémorial Marco Pantani et gagne une étape du Tour de Pékin. Fin octobre, il est champion d'Europe de course aux points, et médaillé de bronze de la poursuite par équipes et de l'américaine de ces championnats d'Europe élites.