Foxx debuttò nelle major league a 17 anni con i Philadelphia Athletics. Divenne il prima base titolare nel 1929, quando disputò la prima annata d'alto livello in carriera, con una media battuta di .354 e 33 fuoricampo. Quell'anno apparve sulla copertina di Time.[1]
Nel 1932, Foxx batté con .364, con 58 home run e 169 punti battuti a casa (RBI), mancando di un soffio la Tripla corona. Quell'anno, Foxx batté in realtà 60 home run, cosa che avrebbe pareggiato lo storico primato di Babe Ruth, ma due di essi furono battuti in gare poi sospese per pioggia, così non valsero ai fini del computo totale. Foxx vinse la Tripla corona nella stagione successiva, battendo con .356, 163 RBI e 48 home run. Fu premiato come MVP dell'American League sia nel 1932 che nel 1933.
Foxx fu uno dei tre o quattro migliori battitori della sua epoca. Il lanciatore membro della Hall of Fame Lefty Gomez una volta disse di lui: "Ha i muscoli anche nei capelli." Con l'inizio della Grande depressione negli anni trenta, il proprietario degli A's Connie Mack non fu più in grado di garantire alti salari alle sue stelle, venendo costretto a cederle. Dopo una disputa contrattuale nel 1936, Mack cedette Foxx ai Boston Red Sox per 150.000 dollari.
Boston Red Sox
Foxx giocò sei anni per Boston, inclusa la stagione 1938 in cui batté 50 fuoricampo, con 175 RBI e una media battuta .349, vincendo il suo terzo titolo di MVP e mancando ancora di poco la Tripla corona. Foxx è uno dei nove giocatori ad avere vinto tre titoli di MVP; solo Barry Bonds (7) ne ha conquistati di più.
IL 16 giugno 1938, Foxx stabilì un record dell'American League quando ottenne sei basi ball in una singola partita. Nel 1939 batté con .360, la sua seconda miglior media in carriera. I suoi 50 home run rimasero un record di franchigia per i Red Sox finché David Ortiz non ne batté 54 nel 2006.
Ultimi anni
Foxx passò le ultime annate della carriera con i Chicago Cubs (1942 e 1944) e i Philadelphia Phillies (1945) anche se le sue prestazioni calarono drasticamente dopo la stagione 1941. Le sue 12 stagioni consecutive con 30 o più home run furono un record della major league fino a quando furono superate da Barry Bonds nel 2004. Fu il più giovane giocatore della storia a battere 500 home run in carriera (superato da Alex Rodriguez nel 2007) e i suoi 534 totali lo ponevano al termine della carriera dietro solo a Ruth nella lista di tutti i tempi, primo tra i battitori destri. Fu superato negli ultimi due campi da Willie Mays nel 1966. Nel 1999, Foxx fu inserito da The Sporting News al 15º posto nella classifica dei migliori cento giocatori di tutti i tempi.[2]