Nel campionato 2012 il rendimento del pilota inglese fu molto altalenante. Button iniziò bene la stagione, conquistando la vittoria nella gara inaugurale Australia dopo essere scattato in prima fila, alle spalle del compagno di squadra Lewis Hamilton. Nel Gran Premio della Malesia, invece, il pilota britannico tagliò il traguardo in quattordicesima posizione, dopo essere stato coinvolto in un contatto con Narain Karthikeyan. Tornato nuovamente sul podio nel Gran Premio di Cina, chiuso in seconda posizione, Button iniziò una serie di gare difficili, nelle quali non andò oltre un ottavo posto conquistato nel Gran Premio d'Europa, a Valencia. Tornò sul podio in Germania, dove tagliò il traguardo terzo in gara, ma fu classificato secondo vista la penalità inflitta a Vettel per un sorpasso irregolare sullo stesso pilota inglese. Ormai tagliato fuori dalla lotta per il titolo mondiale, nella seconda parte di stagione Button tornò a competere per le prime posizioni, conquistando pole position e vittoria nel Gran Premio del Belgio. In Italia il pilota inglese fu costretto al ritiro per problemi meccanici mentre era in seconda posizione, risultato poi ottenuto nel successivo Gran Premio di Singapore. Nel Gran Premio finale della stagione, in Brasile, Button ottenne la terza vittoria stagionale, approfittando delle condizioni meteo variabili e di un contatto nell'ultima parte di gara tra Lewis Hamilton e Nico Hülkenberg, che lo avevano sopravanzato. Questa sarà anche la sua ultima vittoria in carriera. Button chiuse la stagione al quinto posto in classifica, con 188 punti.