SoprannominatoEl Zorro (la volpe),[3] di ruolo centrocampista, ma può giocare anche nella posizione più arretrata di mediano, tuttavia nonostante il ruolo difensivo che ricopre, è un calciatore grintoso che si rende pericoloso pure in attacco, sia in fase di tiro che in chiave assist.[4]
È un calciatore tatticamente disciplinato,sa calciare con potenza, abile nel tiro da fuori area, inoltre come finalizzatore usa bene entrambi i piedi, è capace di segnare anche con icalci di punizione, abile a muoversi senza palla[4] e ottimo in transizione[4] e a recuperare palloni.[4]
Héctor Herrera inizia la sua carriera tra i professionisti nel 2010, quando è acquistato dalPachuca, con la cui maglia debutta il 22 luglio in occasione del match con iChivas de Guadalajara[5]. La prima ammonizione subita in carriera risale al 7 agosto 2011, durante la partita di campionato con ilQuerétaro[6]. Il 28 novembre, durante il match di campionato con ilTigres, subisce la prima espulsione in carriera, dopo aver ricevuto una doppia ammonizione[7].Ha segnato solo due gol con la squadra, nel 2013, il primo con la rete del 2-0 battendo l'Atlante, e poi con il gol del 1-0 sconfiggendo ilSantos Laguna.
Il 28 giugno 2013 è ufficializzata l'acquisizione dell'80% del cartellino del giocatore messicano da parte delPorto per 8 milioni di euro; Herrera firma un contratto fino al 2017, in cui è presente una clausola di rescissione di 40 milioni di euro.[8] Il 15 settembre 2015 firma il prolungamento fino al 30 giugno 2019.[9] Segna il suo primo gol il 20 dicembre con la rete del 4-0 sconfiggendo l'Olhanense.Il 20 agosto 2014 Herrera segna il gol del 1-0 battendo ilLille nelle qualificazioni diChampions League, ottenuto l'accesso al campionato continentale segna una rete nella vittoria per 2-1 contro l'Atletico Bilbao, sigla un gol anche contro ilBasilea vincendo per 4-0, inoltre con una rete e due assist vincenti è l'uomo partita nel vinto per 3-1 contro ilBATĖ Borisov. Il suo miglior risultato personale, con nove reti in campionato, è riuscito a concretizzarlo nella stagione2015-2016, segna una rete contro ilCD National e ilUnião da Madeira vincendo entrambe le partite per 4-0, apre le marcature nella vittoria per 5-0 contro ilBoavista, è autore di una rete anche contro l'Académica vincendo per 3-1, segna un gol pure nella vittoria per 2-1 contro ilBenfica.
Vince l'edizione2017-2018 del campionato portoghese dove segna tre gol, sigla una rete sia contro ilBoavista che ilBelenenses vincendo per 2-0 entrambe le partite, inoltre con il suo gol la squadra batte per 1-0 il Benfica. Riesce a segnare una rete contro ilLipsia vincendo per 3-1 una partita diUEFA Champions League 2017-2018. Durante laTaça de Portugal segna un gol nei quarti di finale battendo per 2-1 ilLeixões, durante la finale contro loSporting Clube de Portugal Herrera serve l'assist con il quale il suo compagnoTiquinho Soares segna la prima rete della partita, che si conclude per 2-2 alla fine dei tempi supplementari, il Porto tuttavia perde per 5-4 ai rigori. Il 6 novembre 2018 Herrera segna il suo ultimo gol nella Champions League, battendo per 4-1 ilLokomotiv Mosca.
Il 30 giugno 2019, dopo la scelta di non rinnovare con il Porto, viene annunciato come nuovo giocatore dell'Atlético Madrid.[10] Esordisce con iRojiblancos in occasione della partita diUEFA Champions League contro gli italiani dellaJuventus, subentrando aThomas e realizzando il gol del definitivo 2-2.[11] Questa è l'unica rete stagionale in assoluto per il giocatore che fatica a convincere nell'arco di tutto l'anno.[12]
Il 2 marzo 2022 firma un contratto biennale (con opzione per un altro anno) con gliHouston Dynamo con decorrenza dal 1º luglio seguente.[13] Vince laOpen Cup dove segna un gol nella semifinale sconfiggendo ilReal Salt Lake. Durante l'edizione2023 dellaMajor League Soccer Herrera segna cinque reti, è autore del gol del 2-0 battendoAustin, riesce a segnare una rete su calcio di punizione sconfiggendo prima per 3-0 iLos Angeles Galaxy e poi per 4-1 ilVancouver FC, l'ultimo gol lo segna nei quarti di finale permettendo alla squadra di battere per 1-0 loSporting Kansas City, perdono però la partita successiva contro ilLAFC per 4-0 in semifinale.
Il 24 marzo 2012 ha debuttato con ll'Under-23 in occasione del match contro i pari età di Trinidad e Tobago[14]. Nel 2012 ha vinto la medaglia d'oro alleOlimpiadi a Londra con lanazionale olimpica, nei quarti di finale, nel secondo tempo supplementare, Herrera con un tiro a porta vuota segna la rete del 4-2 sconfiggendo il Senegal, infine il Messico batte ilBrasile in finale dove Herrera ha giocato per tutta la partita da titolare.[15]
Convocato per ilMondiale brasiliano, Herrera si mette in luce con la casacca dellanazionale messicana, durante la vittoria per 3-1 contro la Croazia, Herrera con un calcio d'angolo permette al proprio compagno di squadraRafael Márquez di segnare il primo gol della partita con un colpo di testa.[16] Successivamente viene convocato anche per laCopa América Centenario negli Stati Uniti dove segna una sola rete nella vittoria per 3-1 contro l'Uruguay, inoltre con un suo assist il suo compagno di squadraOribe Peralta sigla il gol del 2-0 battendo la Giamaica.[17] Durante laFIFA Confederations Cup 2017 per merito dei due assist vincenti di Herrera la squadra batte in rimonta per 2-1 la Russia grazie ai gol diNéstor Araujo eHirving Lozano.
Viene convocato per ilMondiale di Russia, dove il Messico consegue il raggiungimento agli ottavi di finale, eliminato poi dal Brasile.[18]
Segna la sua unica doppietta in nazionale in un'amichevole disputata il 4 luglio 2021 sconfiggendo per 4-0 la Negeria. Partecipa alla Gold CupStati Uniti 2021, grazie all'assist di Herrera la squadra sconfigge per 1-0 l'El Salvador con il gol diLuis Rodríguez, inoltre sigla la rete del 2-1 battendo in semifinale il Canada, tuttavia il Messico si piazza solo al secondo posto dopo aver perso la finale contro la nazionale di casa dato che gli Stati Uniti vincono per 1-0 ai tempi supplementari.
Il 6 giugno 2022, nella gara amichevole pareggiata 0-0 contro l'Ecuador, raggiunge le 100 presenze in nazionale.[19][20]