Billy» The Great » Hope (Jake Gyllenhaal) es un boxeador profesional invicto que vive en los suburbios de la ciudad de Nueva York con su esposa Maureen (Rachel McAdams) y su hija Leila (Oona Laurence). Durante su lucha contra Darius Jones (Cedric D. Jones) en el Madison Square Garden, Maureen se asusta cuando Billy recibe varios golpes horribles en la cara, lo que le hace sangrar profusamente por el ojo izquierdo. Billy luego emplea un estilo de lucha brutal y de ritmo rápido contra Jones, lo que le permite ganar el combate por nocaut y retener el título indiscutible de Peso Semipesado AMB/IBF/WBC/OMB. A pesar de la victoria, sufre lesiones desagradables y sangrado continuo.
Después, mientras la prensa rodea a Billy, un boxeador advenedizo más joven, Miguel «Magic» Escobar (Miguel Gómez), entra y le exige a Billy que luche contra él en el ring, alegando que Billy nunca ha sido golpeado por un hombre de verdad. Al regresar a casa, Maureen expresa sus temores por la seguridad de Billy y lo insta a dejar de fumar mientras está por delante o se convertirá en un alcohólico solitario en dos años. Durante una fiesta en la casa de la Esperanza, Maureen habla con el mánager de Billy, Jordan Mains (50 Cent), y no está de acuerdo con su plan de conseguir que Billy firme un acuerdo de dos años con HBO para tres peleas más.
Billy y Maureen van a un baile de recaudación de fondos donde Billy da un discurso, reconociendo a Maureen, Leila, Jordan y sus amigos Gabe, Jon Jon, Eli y Mikey. Miguel también está presente, y cuando Billy se va, Miguel lo incita insultando sexualmente a Maureen y diciéndole que le quitará sus títulos. Maureen le dice a Billy que lo deje ir, pero la ira de Billy se lleva lo mejor de él, lo que lleva a una pelea. Uno de los amigos de Billy, Gabe (Malcom Mays) saca un arma, pero suena un disparo sin que él apriete el gatillo. Billy mira y ve que a Maureen le han disparado. Miguel, viendo que fue su hermano Héctor el que disparó, esconde el arma mientras Héctor huye mientras Maureen muere en los brazos de Billy.
Billy comienza a abusar del alcohol y las drogas mientras busca obsesivamente a Héctor. El amigo de Billy, Jon Jon (Beau Knapp), se acerca para tratar de detenerlo, solo para ser amenazado por él a punta de pistola y culpado por la muerte de Maureen. Billy finalmente recibe una pista sobre el paradero de Héctor, pero solo encuentra a la esposa adicta a las drogas de Héctor, María, y se va después de enterarse de que Héctor es padre. Billy se reúne con Jordan, quien sugiere vender la casa para resolver sus problemas financieros. Jordan le reserva a Billy una pelea contra Kalil Turay. Durante la pelea, Billy recibe una paliza tan fuerte que su esquina tira la toalla, terminando la pelea. Cegado por el daño debido a disparos en la cabeza, Billy accidentalmente golpea con la cabeza al árbitro en la cara. Billy está suspendido por un año, dejándolo sin ingresos y sin daños de pago al árbitro. Además, las cadenas lo demandan por incumplimiento de contrato, dejándolo endeudado y recuperando su casa y sus pertenencias. Con Billy fuera de acción, su entrenador de larga data Eli Frost junto con Jordan lo abandonan para trabajar con Miguel.
Billy continúa en espiral fuera de control y, finalmente, choca con su coche contra el árbol fuera de su casa una noche. La alarma despierta a Leila, y ella baja para encontrar a un Billy sangrante tirado en el suelo, y luego llama al 911. Billy se despierta en el hospital para que le digan que Leila está al cuidado de la oficial de Servicios de Protección Infantil Angela Rivera (Naomi Harris), ya que se considera que no es apto para cuidar de ella debido a su comportamiento imprudente. Sin ningún lugar a donde ir, Jon conduce a Billy al Gimnasio Wills, donde conoce al ex boxeador Tick Wills (Forest Whitaker), que está ciego de un ojo después de que su última pelea lo dejó herido. Billy quiere que Tick lo recupere, pero Tick sabe sobre sus problemas con la bebida y el consumo de drogas y duda en entrenarlo. Le ofrece a Billy un trabajo de conserjería, pero Billy se niega.
Billy va al edificio de Servicios Infantiles y se reúne con Angela. Admite que es un desastre, pero todavía quiere ver a Leila. Sin embargo, Leila lo culpa por causar ambos problemas y se niega a verlo. Billy regresa al gimnasio y acepta el trabajo de limpieza. Mientras trabaja allí, se hace amigo de un chico llamado Hoppy (Skylan Brooks), que también es un aspirante a boxeador. Se entera de que el padre de Hoppy abusa de su madre, lo que informa a Tick, con quien continúa vinculado. A medida que continúa haciendo las paces en su vida, Billy intenta visitar a Leila, que todavía es reacia a verlo, pero su persistencia la conquista. Billy visita a Leila de nuevo para contarle sobre su próxima pelea de exhibición. Como el juez le ha ordenado que no asista a sus peleas, ella lo golpea repetidamente, culpándolo por la muerte de Maureen. Después de participar y ganar una lucha benéfica contra el joven boxeador Keith «Buzzsaw» Brady, Billy es visitado por Jordan, quien ahora dirige a Miguel, quien recientemente ganó el Campeonato Semipesado del CMB de Khalil Turay. Jordan quiere reservar una pelea entre los dos hombres dentro de seis semanas, sabiendo que Billy no tendrá tiempo suficiente para entrenar. Billy piensa que puede volver y quiere que Tick lo entrene, pero Tick se niega, creyendo que Billy solo quiere venganza.
Billy regresa al gimnasio para encontrar a Tick golpeando furiosamente un saco de boxeo, después de descubrir que Hoppy ha muerto después de intentar defender a su madre de su padre, quien luego le disparó. Lamentando cómo no pudo salvar a Hoppy, Tick se acerca y ayuda a Billy a entrenar y ponerse en forma para la próxima pelea. Observando sus esfuerzos para cambiar su vida, el juez le concede a Billy la custodia de Leila y ella se muda de nuevo con él. Al visitar la tumba de Maureen a petición de Leila, Billy le dice a Leila que va a pelear de nuevo, y le concede el deseo de dejarla verlo pelear.
Llega la noche de la pelea, con miles de personas listas para ver el regreso de Billy. Angela lleva a Leila al camerino donde ven la pelea en la televisión. La pelea comienza, y Miguel toma la delantera, derribando a Billy dos veces. Ambos luchadores intercambian puñetazos furiosos, yendo mano a mano a través de cada ronda. Miguel se mete en la cabeza de Billy insultando a Maureen. Esto hace que Billy pierda la concentración y en un ataque de ira, lo ataca y casi detiene la pelea. Tick le dice a Billy que no deje que Miguel lo controle, ya que tanto su esposa como su hija lo están observando. Billy entra en la ronda final, habiendo aprendido finalmente a controlar su ira, y comienza a tener la ventaja contra Miguel. Ambos luchadores continúan cansándose, antes de que en los últimos segundos de la última ronda, Billy bloquee un jab de Miguel, aterrice un disparo en la cara antes de girar el zurdo y aterrizar un uppercut furioso, causando que Miguel se estrelle contra el suelo. La multitud se vuelve loca y el equipo corre al ring para celebrar con Billy.
Después de una decisión dividida donde las primeras rondas van a Miguel, los jueces anuncian a Billy como el nuevo campeón. Billy se derrumba en la esquina del ring, agradeciendo a Maureen y finalmente está listo para ser un padre comprometido con Leila. Luego, Tick lo levanta sobre sus hombros mientras cierra los ojos con lágrimas en los ojos y sonríe. Después de la pelea, Leila se encuentra con Billy en el vestidor, donde se abrazan por primera vez desde la muerte de Maureen. Billy dice que Maureen estaría orgullosa de ella y ella le dice que lo ama mientras continúan abrazándose.