Belgium substitute Divock Origi grabbed a winner two minutes from time against Russia to take his side into the last 16.
Alexander Kokorin missed the best chance of a lifeless opening half, heading wide from six yards.
Substitute Kevin Mirallas hit a post with Belgium’s first shot on target with six minutes remaining.
But Origi turned in from Eden Hazard’s cross to take Marc Wilmots’ team into the knock-out phase.
Russia’s hopes of following them into the last 16 now hinge on their final group match against Algeria.
Fabio Capello’s side were better than in their1-1 draw with South Korea but still lacked a cutting edge and Belgium found a way to win despite an unconvincing display.
Origi, 19, impressed when he came off the bench in the opening 2-1 victory over Algeria and, once again, the Lille forward did well when he replaced Romelu Lukaku – who appeared far from happy with the decision – early in the second half.
They may have six points from two matches, but Belgium – who lost Arsenal defender Thomas Vermaelen to injury – will have to play far better to continue their progress.
Another player do well coming on against Algeria, Dries Mertens was given a starting place and carried all of Belgium’s threat down the right flank in the first half.
The Napoli winger had an effort blocked after a fine run and, following Kevin de Bruyne’s surge forward, he attempted to feed Romelu Lukaku rather than shooting from a good position.
Mertens drove wide of goal after another impressive break but other than that Russia were barely troubled in a slow opening half.
They went close themselves when Viktor Fayzluin’s low effort was pushed away by Thibaut Courtois, who also made a scrambling stop from Maksim Kanunikov.
Kokorin should have opened the scoring just before the interval but he glanced a header wide at the far post from Denis Glushakov’s fine cross.
Glushakov thumped a wild effort off target from a narrow angle as the second half started at an even lower tempo with both sides appearing content with a draw.
Andrey Eschenko dragged an effort wide after a decent Russian move, then Everton winger Mirallas was denied by the foot of a post.
Hazard drove wide after breaking into the area but the Chelsea forward made a more decisive contribution in the 88th minute, breaking down the left flank and pulling back for Origi to score.
Belgium manager Marc Wilmots:
“[Origi] is in a good space right now. He’s 19 years old. It was a bit of a surprise since he was an unknown before I selected him. Now everyone knows who he is.
“It was a hard game because the Russians were expecting us – the players were tired, it was hot, the Russians were already cramping up after 60 minutes.
“It was not an easy match but I think we deserved to win it.”
Russia manager Fabio Capello:
“I am very happy with the performance the team and I thought the result was unfair.
“The truth of the matter is we had chances to win it but we lost. Both teams gave it their all and unfortunately it was Belgium that was able to make it.
“We have to look forward and I said when we came to play in this World Cup after being absent for 12 years that this will be a great help for us to understand the level we need to be at in future competitions.”