Vettel kom tilbage til pole position i Ungarn, men Lewis Hamilton kvalificerede sig som anden og kunne spare et ekstra sæt blødere option dæk til løbet. Efter blandede forhold forårsagede kaos i støtte løb, Grand Prix startede med en våd overflade. Vettel etablerede en tidlig føring, men blev hurtigt overgået af Hamilton og Jenson Button, da en tør linje opstod. Positionerne forblev konstante gennem halvdelen af løbet, mens Team Lotus oplevede deres anden dobbelt pensionering i tre løb, og Nick Heidfelds Renault eksploderede efter et langvarigt pitstop. Et regnvejr midt i løbet på det fyrretyvende omgang førte til, at Hamilton spinder, tvinger Force Indias Paul di Resta ud af banen og giver Button mulighed for at lukke hullet. De to McLaren-kørere byttede pladser flere gange i de fedtede forhold, med Hamilton førende længe nok til at give ham det første strategiopkald inden for holdet. Han valgte at skifte til mellemdæk, men banen begyndte at tørre ud, og han fik en drive-through-straf for at tvinge di Resta ud af banen, hvilket tog ham ud af kampen for en podiumfinish. Jenson Button vandt løbet, hans 200. Grand Prix start og scenen for hans første sejr.
Foran Vettel i anden og Fernando Alonso. Hamilton kom sig fra sin straf for at tage fjerde plads fra Mark Webber, mens Felipe Massa, der havde udkvalificeret Alonso for første gang siden Belgisk Grand Prix 2010, var den sidste bil klassificeret på det førende omgang på sjette plads.