A superb strike from Aleksey Miranchuk gave Russia their first Euro 2020 win in St Petersburg, denying Finland a second successive victory in Group B.
Finland showed no ill-effects from their opening victory in Copenhagen, which was marred by the collapse of Denmark midfielder Christian Eriksen.
In fact, the European Championship debutants thought they had taken an early lead when the impressive Joel Pohjanpalo - who scored the winner on Saturday - headed home inside three minutes, but it was chalked off by VAR for offside.
- How the teams lined up | In-depth stats and analysis
- Group B standings | Euro 2020 fixtures and schedule | Euro 2020 gossip column
Russia built up their pressure throughout the first half and capitalised in the second minute of injury time when Miranchuk curled home beautifully into the far corner.
Finland responded well in the second half, but Russia should have added more, with Rifat Zhemaletdinov and Daler Kuzyaev both going close.
Russia now join Belgium and Finland on three points in Group B, going second above Finland on the head-to-head record, with Roberto Martinez's leaders facing Denmark on Wednesday.
How Russia secured their first Euro 2020 win
Inside three minutes, Finland thought they had made the perfect start in St Petersburg. Igor Diveev's pass from the back to Kuzyaev was easily intercepted by Jukka Raitala. He then whipped in a cross for the waiting Pohjanpalo, but after an emphatic celebration, the striker's header was ruled out for offside.
Russia should also have taken the lead shortly after. Miranchuk did well to turn himself into space before picking out the unmarked Magomed Ozdoevon on the right but he skied his effort across the face of goal from close range.
Finland: Hradecky (7), Toivio (6), Arajuuri (6), O'Shaughnessy (7), Raitala (6), Schuller (6), Kamara (7), Uronen (7), Lod (6), Pohjanpalo (8), Pukki (7).
Subs used: Kauko (5), Soiri (6), Lappalanien (6), Jensen (n/a).
Russia: Safonov (6), Fernandes (7), Diveev (6), Jikia (7), Kuzyaev (7), Zobnin (6), Barinov (6), Ozdoev (7), Miranchuk (8), Dzyuba (6), Golovin (6).
Subs used: Karavev (6), Zhemaletdinov (7),Sobolev (n/a), Mukhin (n/a).
Man of the match: Aleksey Miranchuk.
Pohjanpalo continued to see chances come his way. In the 21st minute, he looked to be away inside the area, but Diveev's well-timed tackle saw the ball behind for a corner. Then, another error from Diveev allowed the Finland striker to stride onto the ball, but Kuzyaev managed to rush back and nick the ball from Pohjanpalo's feet.
Jere Uronen showed the kind of heart and effort that football fans adore when he denied Vyacheslav Karavaev in the 27th minute. The Russia defender was looking to turn home Kuzyaev's cross, but Uronen managed to poke the ball behind for a corner. Both players took heavy knocks in the aftermath too, Karavaev hammering into the post and the momentum seeing him inadvertently catch Uronen in the face with his boot. However, after some medical attention, both continued.
- Finland made just the one change from their 1-0 win against Denmark. Captain Tim Sparv dropped to the bench with Rasmus Schuller replacing him. Paulus Arajuuri captained Finland.
- Russia made three changes from their opening defeat to Belgium. One of those was in goal with Shunin replaced by 22-year-old Anton Matvey Safonov. Igor Diveev and Aleksey Miranchuk also came into the XI, replacing Yuri Zhikkov – who missed out on the matchday 23 – and Andrei Semenov.
Russia continued to build the pressure as the half continued but did not hit the target until Miranchuk's goal in the second of six added minutes. He played a delightful give and go with Russia captain Artem Dzyuba and despite appearing to have no space to work with, shifted the ball onto his left foot before curling a sweet strike into the far corner.
Finland reacted well to going behind at the start of the second half. Teemu Pukki began to cause some issues for Russia, Diveev needing a last-ditch tackle to keep him from going through, before the Norwich striker sent an effort straight at 22-year-old goalkeeper Matvey Safonov.
Robin Lod then cut into the area from the right, but his attempted effort was blocked well by Georgi Jikia. Aleksandr Golovin had an effort at the other end too, but it whistled past the upright.
But despite the Finnish improvement, it was Russia who had the best chances. In the 66th minute, Miranchuk was involved again as he slotted Zhemaletdinov through into the area. He only needed to send the ball around Lukas Hradecky, but just dragged it wide of the far post. Just after, the Finland goalkeeper made a sensational one-handed save, denying Kuzyaev after he was picked out in space on the left of the area.
As the clock ticked down, play became scrappy as both sides hunted for the next goal. Paulus Arajuuri nodded over the crossbar, while Zhemaletdinov fired another effort wide in added time, but Russia managed to see the game out for a much-needed three points.
Man of the match - Aleksey Miranchuk
There was no doubting that Miranchuk was Russia's standout player in a performance that was incredibly scrappy at times. He provided that moment of quality that was lacking, and produced a truly wonderful goal.
He also created much of Russia's attacking play, but was let down but some poor finishing from his team-mates.
Credit too must also go to Finland's Pohjanpalo, but it was the moment in front of goal that sees Miranchuk edge it.
What the managers said
Finland coach Markku Kanerva: "We defended well and going forward we improved on our display against Denmark. We didn't manage to score but we had good situations: some shots that went narrowly wide, others were blocked. It was a really close game."
"We were looking for a win or at least one point, which we maybe deserved. On the other hand, I cannot say Russia did not deserve the narrow win. I am satisfied with the spirit my team showed once again - we need that in these kind of games. We created enough to score but did not, and there we must improve.
"Belgium are the number one team in the world and we will face a really great challenge [in the final group game]. We still need to get at least one point and we will do everything to get it. I trust in my players; they have shown before they are capable of doing almost impossible things."
Russia coach Stanislav Cherchesov: "The players were a real team today. They fulfilled what they had to do and got the win. The formation I chose, I think, was right. To break down their defence we needed to use the wings and we did. The plan worked.
"I supported Miranchuk's decision to move to Europe, to get out of his comfort zone and play in one of the world's best leagues. I'm happy with how he is making progress and I hope he'll start getting more game time at Atalanta next season. It will be good for both us and the player."
Opta stats - Russia end Euro drought
- Russia registered their first win at the European Championships since beating Czech Republic in 2012 (4-1) - ending a six-match winless run in the competition.
- Aleksey Miranchuk's goal in first-half stoppage time (46:21) was the longest wait for a shot on target in a game at Euro 2020 so far.
- Since 1980, only Sweden at Euro 2016 (0) have managed fewer shots on target in their opening two games of a single European Championships tournament than Finland (2) this summer.
- Aleksey Miranchuk, who scored his sixth goal in his 35th cap for Russia, ended a run of nine appearances in all competitions without a goal for his country - with his previous goal coming in November 2019 vs San Marino.
In the final game of Group B, Russia will play away from home at the Parken Stadium in Copenhagen, facing Denmark on Monday. Finland will play Belgium in St Petersburg on the same day. Both games will kick-off at 8pm.