Aleksey Miranchuk put the hosts ahead in first-half injury time with a fine, curling finish, despite being surrounded by defenders.
Finland would have qualified for the last 16 with a win and thought they had opened the scoring, but Joel Pohjanpalo’s header was ruled out for offside.
The result leaves both sides on three points before their final Group B matches on Monday.
Finland, competing in their first major finals,won 1-0 against Denmark on Saturday in a match overshadowed by Danish midfielder Christian Eriksen collapsing on the pitch.
Before Wednesday’s game, all the Finnish squad wore T-shirts saying ‘Get well Christian’.
Eriksen is currently recovering in hospitalafter suffering cardiac arrest.
Pohjanpalo scored the only goal in Finland’s opener and thought he had his second goal of the tournament when he got between two Russian defenders to head in following Jukka Raitala’s excellent cross inside three minutes.
However, with the help of the video assistant referee, Pohjanpalo was ruled to be marginally offside and the goal was disallowed.
Russia then had the best chances but Magomed Ozdoev headed over and put another opportunity wide, and only superb defending from Jere Uronen denied substitute Viacheslav Karavaev.
But the hosts got a deserved goal when Miranchuk, surrounded by four visiting defenders, managed to shift the ball onto his left foot and curl an effort past Lukas Hradecky.
Norwich City striker Teemu Pukki had a rare chance for Finland in the second half but could only shoot tamely at Russia goalkeeper Matvey Safonov.
The hosts continued to look the more likely of the two sides to score, but Aleksandr Golovin and Rifat Zhemaletdinov both narrowly missed the target and Daler Kuzyayev had a shot saved.
The last round of group matches takes place at 20:00 BST on 21 June with Russia against Denmark in Copenhagen and Finland meeting Belgium in St Petersburg.