It was a lively start to the game, and Finland thought they had taken an early lead when Jukka Raitala’s cross was headed in by Joel Pohjanpalo.
However, the forward was denied his second goal of the tournament after a VAR check. Replays showed that he was marginally offside.
Down the other end, Russia had some chances of their own. Aleksandr Golovin teed up Magomed Ozdoev, who fired his effort over, while Artem Dzyuba struck the post.
Both sides continued to threaten and were both denied an opening goal by some excellent pieces of defending.
Robin Lod played Pohjanpalo through on goal, but Igor Diveev made a last-ditch challenge to force a corner.
A few minutes later, Daler Kuzyaev’s low cross looked certain to be tapped in by Vyacheslav Karavaev at the back post until Jere Uronen intervened with a goal-saving tackle.
But there was little the Finnish defence could do to prevent Russia’s opener just before half time.
Aleksey Miranchuk and Artem Dzyuba linked up, and the former placed a brilliant finish into the top corner, giving his side the lead.
After the break, Diveev was again on hand to make a vital challenge, this time to deny Teemu Pukki after he was played through on goal by Lod.
Pukki threatened again shortly afterwards, but his powerful drive was straight into the arms of Matvei Safonov.
Russia had a few chances to extend their lead but were unable to find the net. The first came when Golovin struck from distance, but his fierce effort went just wide of the post.
Substitute Rifat Zhemaletdinov was the next to go close, but he rolled his effort wide after being played through following an excellent pass by goalscorer Miranchuk.
They continued to push for the second goal and were denied by a wonderful save from Lukas Hradecky, who was at full stretch to turn Kuzyaev’s shot around the post.
As for Finland, they had very little in the way of goalscoring opportunities up until the 89th minute, when defender Paulus Arajuuri headed over from a set-piece.
That was the final piece of the action. Russia’s victory takes them level on points with Finland and Belgium, although the latter play Denmark tomorrow.
Lukas Hradecky (7/10) – Claimed several crosses and made one excellent save from Kuzyaev.
Joona Tiovio (6/10) – Allowed some threat down his side but defended well enough.
Paulus Arajuuri (6/10) – Sometimes struggled against the physical threat of Dzyuba. Missed a late chance.
Daniel O’Shaughnessy (6/10) – Didn’t let a whole lot past him. Long throw-ins can be dangerous.
Jukka Raitala (7/10) – Swung in a perfect cross for Pohjanpalo’s disallowed goal. Often threatening.
Robin Lod (7/10) – Played two great passes through for the forwards. Looked dangerous.
Rasmus Schuller (5/10) – Struggled to make an impact on the game. Substituted after 67 minutes.
Glen Kamara (5/10) – Rarely involved in the game. More will be expected of the Rangers man.
Jere Uronen (6/10) – Made one cracking tackle to deny Karavaev a tap in. Didn’t offer much in attack.
Teemu Pukki (6/10) – Looked lively and always aimed to get in behind. Not at his sharpest in front of goal.
Joel Pohjanpalo (7/10) – Always looked the most likely to get a goal for Finland. Unlucky to have an early header ruled out by a few centimetres.
Joni Kauko (5/10)
Pyry Siori (5/10)
Lassi Lappalainen (5/10)
Fredrik Jensen (NA/10)
Matvei Safonov (6/10) – Didn’t have a lot to do but did fine when called upon.
Mario Fernandes (6/10) – Subbed off in the first half after an awkward landing.
Dmitriy Barinov (6/10) – Playing in a deeper role this time around, he coped well.
Georgiy Dzhikiya (7/10) – Very solid at the back, despite picking up a knock in the second half.
Igor Diveev (8/10) *MOTM* – Made two crucial tackles to deny Pohjanpalo and Pukki when through on goal. Solid all afternoon.
Daler Kuzyaev (7/10) – Put in a great cross which almost led to a goal, and was unlucky not to score himself.
Roman Zobnin (6/10) – Helped Russia have most of the possession but didn’t offer much at either end.
Magomed Ozdoev (6/10) – Involved but wasted a glorious chance in the first half.
Aleksey Miranchuk (7/10) – Lit up the game with a beauty before half time. Unlucky not to have an assist. Didn’t do a whole lot outside of that.
Aleksandr Golovin (7/10) – Looked bright on the ball. Had one drilled shot that went just wide.
Artem Dzyuba (7/10) – Held the ball up and linked up well. Assisted the winner.
Vyacheslav Karavaev (7/10) – Stepped in admirably for the injured Fernandes. Close to scoring.
Rifat Zhemaletdinov (5/10)
Aleksandr Sobolev (NA/10)
Maksim Muhkin (NA/10)