Georgiy Sudakov scored twice as Ukraine came from behind on Sunday to upset France 3-1 in Romania in the last quarterfinal at the European under-21 tournament.
Earlier, Anthony Gordon scored the winner as England, who have yet to concede a goal in the tournament, beat Portugal 1-0 in Kutaisi in Georgia to reach the last four.
In Cluj Napoca, in Romania, France strolled into the lead after 30 minutes as Bradley Barcola found space in the Ukrainian box and cut the ball back to Rayan Cherki who side-stepped a defender and popped his shot into the net.
Ukraine were ahead by half time, lifted by two moments of inspiration from Chelsea starlet Mykhailo Mudryk.
After 30 minutes, Mudryk sliced through the French defence and into the box where Pierre Kalulu lunged. Mudryk plunged. Sudakov converted the penalty.
Ten minutes later, Mudryk's pinpoint pass from his own half found Sudakov who gave Ukraine the lead.
In the second half, Ukraine, more experienced than the French, intelligently managed their lead.
Mudryk almost provided another spark with a brilliant long pass to Oleksandr Nazarenko who was unable to convert.
Artem Bondarenko did score in 85th minute. By then, Mudryk was off and France were all but out.
Mudryk has struggled since his 100 million euros (£88 million) move to Chelsea but said he was more comfortable with Ukraine, a team full of former Shakhtar Donetsk clubmates.
"When you play with team-mates who are also your friends, you can play in a different way. When the coach puts 100-per-cent faith in you, you can do a lot more," he said.
In the evening's early match, Newcastle striker Gordon finished first time from a cut-back by Morgan Gibbs White of Nottingham Forest after 34 minutes.
"It's what happens when you have top players around you," said Gordon at the press conference.
"You're going to get chances and it's up to me to finish them. I probably should have had one or two more, which I'm a bit gutted about."
England created the best chances in the first half but rode their luck after the break. Portugal besieged the England penalty area for long periods but could come no closer than a header against the bar by centre-forward Henrique Araujo of Benfica.
Goalkeeper James Trafford of Manchester City and his defence held out to preserve their perfect tournament record. England have yet to concede a goal in their four matches in the tournament.
Gordon said Portugal's pressure could prove useful for England.
"We haven't had that opportunity to show we've got that side to our game and tonight we got to -– and we definitely proved ourselves in that."
In the semi-final on Wednesday, England will face Israel in Batumi in a rematch of a group game that England won 2-0.
In the other semi-final, Ukraine will face Spain in Bucharest.
By reaching the final four, Ukraine, Spain and Israel have qualified for the football tournament at the 2024 Paris Games. England do not field a separate Olympic football team.