X2 follows Colonel Stryker's raid on Xavier's school and the X-Men's fight to stop him, and it splits into three movements: the raid, the escape and the assault on Stryker's hidden base.
Wolverine has been searching for answers about his past at an abandoned military site in Alberta, and he comes back to find the school under attack. Stryker's forces capture Xavier and Cyclops and take several students, while Wolverine escapes with Rogue, Iceman and Pyro. The group visits Iceman's family in Boston, where the police turn on them, and they are rescued by Storm and Jean Grey in the X-Jet. Fighter jets then shoot the X-Jet down, and Magneto saves the team, having already escaped with Mystique's help.
Magneto explains that Stryker plans to use a second Cerebro, powered by his mutant son, to kill mutants, and that Stryker also gave Wolverine his metal skeleton. The mutants form an uneasy alliance, and Nightcrawler, who was manipulated by Stryker, joins them. Mystique, disguised as Wolverine, helps the group into Stryker's hidden base inside a dam at Alkali Lake. Jean frees Cyclops from mind control, Wolverine defeats Stryker's deadly assistant Yuriko, and Storm breaks the hold on Xavier by creating a snowstorm in the Cerebro chamber.
Magneto and Mystique slip away, and Stryker is left behind when the damaged dam bursts. The X-Jet loses power as the flood closes in, so Jean leaves the cabin to hold back the water and let the jet take off, and she is lost. The X-Men then report to the President, Xavier calls for humans and mutants to live together, and the team mourns Jean.