In 2020, human boxers are replaced by robots. Charlie Kenton (Hugh Jackman), a former boxer, owns the robot "Ambush", but loses it in an arranged fight against a bull belonging to promoter and carnival owner Ricky (Kevin Durand), who sees Charlie as a joke, partially because he beat up Charlie the last time they butted heads. Having made a bet that Ambush would win, Charlie now has a debt to Ricky.
After the fight, Charlie learns that his ex-girlfriend has died, and he must attend a hearing deciding the future of their son Max (Dakota Goyo). There, Max's aunt Debra (Hope Davis) and her wealthy husband Marvin (James Rebhorn) request full custody, which Charlie concedes for $100,000, half in advance, on the condition that Charlie retains Max for three months. Thereupon, Charlie and Max, and Bailey Tallet (Evangeline Lilly), the daughter of Charlie's boxing coach, acquire the once-famous robot "Noisy Boy" and arrange a fight, in which Noisy Boy is destroyed. Attempting to scavenge parts of a new robot, Max discovers "Atom", an obsolete but intact robot designed to withstand severe damage, and capable of mimicking its handler's motion.
At Max's behest, Charlie pits Atom against the robot "Metro", whom Atom overcomes. Max convinces Charlie to train Atom, resulting in a series of victories culminating upon national champion "Twin Cities". Elated by their successive victories, Max declares to challenge global champion "Zeus". Immediately, Ricky and two henchmen attack and rob Charlie, who thereupon returns Max to his aunt; but persuaded by Bailey, Charlie arranges the challenge offered by Max and convinces Debra to allow Max to witness the fight. Ricky bets $100,000 that Atom will not last the first round against Zeus, but loses his bet and is cornered by the fight's bookmakers. In the penultimate round, Atom's vocal controls are damaged, whereupon Charlie guides the robot through shadow mode to weaken and overwhelm Zeus; but is unable to win within allotted time. Zeus is declared the winner by number of blows inflicted; but the near-defeat leaves the Zeus team humiliated, and Atom is labelled the "People's Champion".