A team of Allied prisoners of war (POWs), coached and led by English Captain John Colby (Michael Caine), a professional footballer for West Ham United before the war, agree to play an exhibition match against a German team, only to find themselves involved in a German propaganda stunt.
Colby is the captain and essentially the manager of the team and thus chooses his squad of players. Another POW, Robert Hatch (Sylvester Stallone), an American who is serving with the Canadian Army, is not initially chosen, but eventually nags the reluctant Colby into letting him on the team as the team’s trainer, as Hatch needs to be with the team to facilitate his upcoming escape attempt.
Colby’s superior officers repeatedly try to convince Colby to use the match as an opportunity for an escape attempt, but Colby consistently refuses, fearing that such an attempt will only result in getting his players killed. Meanwhile, Hatch has been planning his unrelated escape attempt, and Colby’s superiors agree to help him, if he in return agrees to journey to Paris, make contact with the French Resistance, and try to convince them to help the football team escape.
Hatch succeeds in escaping the prison camp, travelling to Paris, and finding the Resistance; at first, the Resistance decides that the plan to help the football team escape is too risky, but once they realise the game will be at the Colombes Stadium they plan the escape using a tunnel from the Paris sewer system to the showers in the players’ changing room. They convince Hatch to let himself be recaptured, so he can pass information along back to the leading British officers at the prison camp.
Hatch is indeed recaptured, and is put in solitary confinement. Because of this, the prisoners do not know whether the intended escape has actually been planned with the underground, so Colby tells the Germans that he needs Hatch on the team because Hatch is the backup goalkeeper and the starting goalkeeper has broken his arm. Colby actually has to break the existing goalkeeper’s arm because the Germans want proof of his injury before they will agree to let Hatch onto the team.
In the end, the POWs can leave the German camp only to play the match; they are to be imprisoned again following the match. The resistance’s tunnellers break through to the showers in the dressing room at halftime, in an escape Hatch leads. But the rest of the team (led by Russell Osman saying “but we can win this”) persuade him to continue the game, despite being behind 4–1 at halftime.
Despite the match officials being heavily biased towards the Germans, and the German team causing several deliberate injuries to the Allied players, a draw is achieved after great performances from Luis Fernandez (portrayed by Pelé), Carlos Rey (portrayed by Osvaldo Ardiles) and Terry Brady (portrayed by Bobby Moore). Hatch plays goalkeeper, and makes excellent saves including one last save from a penalty kick as time expires to deny the Germans the win, drawing the game 4–4. An Allied goal had been blatantly disallowed earlier in the match, so the POW team should have won 5–4.
The POWs do manage to escape at the end of the game following the original plan, amid the confusion caused by the crowd storming the field (shouting “victoire”) after Hatch preserved the draw.