Vettel regresó a la pole position en Hungría; sin embargo, Lewis Hamilton clasificó segundo y pudo guardar un juego adicional de neumáticos opcionales más blandos para la carrera. Después de que las condiciones mixtas causaran estragos en las carreras de apoyo, el Gran Premio comenzó con una superficie mojada. Vettel estableció una ventaja temprana, pero pronto fue superado por Hamilton y Jenson Button cuando apareció una línea seca. Las posiciones se mantuvieron constantes hasta la mitad de la carrera, mientras que el Team Lotus experimentó su segundo doble retiro en tres carreras y el Renault de Nick Heidfeld explotó después de una parada prolongada en boxes. Una lluvia a mitad de carrera en la vuelta cuarenta llevó a Hamilton a girar, forzando a Paul di Resta de Force India a salir del circuito y permitiendo a Button cerrar la brecha. Los dos pilotos de McLaren intercambiaron lugares varias veces en las condiciones grasosas, con Hamilton liderando el tiempo suficiente para darle la primera llamada de estrategia dentro del equipo. Optó por cambiar a los neumáticos intermedios, pero la pista comenzó a secarse y le dieron una penalización de drive-through por forzar a di Resta fuera del circuito, sacándolo de la contienda por un podio. Jenson Button ganó la carrera, su 200o Gran Premio y la escena de su victoria inaugural
por delante de Vettel en segundo y Fernando Alonso. Hamilton se recuperó de su penalización para tomar la cuarta posición de Mark Webber, mientras que Felipe Massa, que había superado a Alonso en la clasificación por primera vez desde el Gran Premio de Bélgica de 2010, fue el último coche clasificado en la vuelta principal en sexto lugar.