Belgium reached the knockout stages of Euro 2024 as group runners-up - but Ukraine exited the competition following their goalless draw in Stuttgart.
All four teams in Group E started the evening level on points and with a chance of progression.
But an inferior goal difference meant Ukraine knew their fate also depended on the outcome of Slovakia's tie with Romania, which ended in a 1-1 draw.
They were unable to make an impact in Stuttgart - limiting Belgium to few chances but lacking a consistent attacking threat of their own until late on.
Leicester City's Wout Faes was a standout performer in Belgium's defence, making two crucial blocks late on to stop Artem Dovbyk testing goalkeeper Koen Casteels.
Roman Yaremchuk was also a sporadic outlet for Ukraine in the absence of injured Chelsea forward Mykhailo Mudryk, while Ruslan Malinovskyi almost curled a corner past Casteels and inside the near post.
Meanwhile, Manchester City midfielder Kevin de Bruyne provided a sprinkling of much-needed quality as he curled a free-kick just wide in the first half.
Belgium, though, came closest to scoring when Romelu Lukaku scuffed a shot straight at goalkeeper Anatoliy Trubin from close range, before substitute Yannick Carrasco tested Trubin too.
In the end, Domenico Tedesco's side progressed having lost one, drawn one and won one of their three group matches. But they will need to improve with World Cup finalists France up next in the last 16.
"We go to win," said the Belgium boss. "We will face a top team and this is the reason why we qualified - otherwise we could have stayed at home.
"These are the games we are looking for, we can challenge everybody. I think we are ready, we are really ready."
The result was a disappointing blow for Ukraine, who became the first team to win as many as four points yet finish bottom of their group at the Euros.
Jeers for below-par Belgium as Ukraine 'keep fighting'
It was a cagey affair until the final 20 minutes when Ukraine, knowing they were exiting the competition as things stood, had to push for a winner and the game opened up.
Belgium were tested defensively but stood firm with Faes winning his battles with Dovbyk, before Timothy Castagne threw his body in the way of a goal-bound strike from Malinovskyi.
Georgiy Sudakov wasted an opportunity to test goalkeeper Casteels when he struck a tame effort straight at him after a promising break through the middle.
But it took over an hour for Ukraine to stamp their authority on the match with Belgium controlling possession early on and creating a few opportunities of their own.
De Bruyne imposed himself in midfield and played with unpredictability but he could not inspire a victory in a lacklustre team performance.
Belgian fans, who had marched to the stadium in huge numbers, played with large inflatable balls in the stands and chanted throughout, but the noise dipped as the game wore on, losing intensity in the process.
There were jeers at full-time and their side's celebrations were subdued as many supporters voiced their frustrations at an underwhelming display, waving their arms while the players gathered in the centre of the pitch, away from their fans.
"On paper, yes you can be favourites but you have to play the games," added Tedesco.
"These teams have absolutely nothing to lose. Of course they have quality players. We don't have any small teams.
"If you lose the first game and the last one is Ukraine, knowing the circumstances, it's not easy. These types of teams have a really good mentality."
Meanwhile, Ukraine's players fell to the ground at the end in disappointing fashion, before wandering over to their supporters and applauding them.
Manager Serhiy Rebrov said afterwards their defeat by Romania in their opening group game was damaging, but they had shown the people of Ukraine they are "still fighting".
"We showed the character of our people," he added. "We need the support of Europe and we are part of Europe. It is very important for us to be represented here.
"Unfortunately we didn't do well. This is like in life, you make some mistakes and then it's very important how you react. I think we reacted well.
"We are very proud of the players. Everyone in Ukraine is unhappy with the score but there are no question marks for the players.
"It's very important to show that we are still alive, we are still fighting and we will not stop."
Player of the match
After the opportunity to rate players has closed, the score displayed represents the average from all the submissions by BBC Sport users.
Related topics
- Published17 June