Cain est choisi comme lanceur partant de la Ligue nationale au Match des étoiles de la Ligue majeure de baseball 2012 à Kansas City le 10 juillet. Le joueur des Giants termine au vote de fin d'année désignant le vainqueur du trophée Cy Young du meilleur lanceur. En 32 départs, il remporte 16 victoires contre seulement 5 défaites. Il réussit un sommet en carrière avec 193 retraits sur des prises. Ses deux matchs complets sont des blanchissages, égalant son total de 2010. Il franchit les 200 manches lancées pour une de suite. Sa moyenne de points mérités de 2,79 en 219 manches et un tiers au monticule est sa meilleure en carrière et la basse de la Ligue nationale.