Aaron Ramsey dinked the ball over Igor Akinfeev to finish off a counter-attack in the 11th minute and Neil Taylor added a second, also from a counter-attack nine minutes later as Wales took early control.
Russia had no answer to the fast, incisive Welsh breaks and survived several more chances before Gareth Bale scored his third goal of the tournament to become Euro 2016’s top marksman, flicking the third past Akinfeev in the 67th minute.
Wales topped the group with six points, one ahead of England, who finished second after a 0-0 draw with Slovakia.
Chris Coleman’s team will now play one of the third-placed sides in Paris on Saturday with every hope of reaching the last eight, as they did in 1976. It was a glorious night for Welsh football in what had been described as the country’s biggest game since the 1958 World Cup quarter-final.
Their players and supporters celebrated wildly while Russian fans, who had caused trouble at the end of their first match against England, slunk away.
Russia now go home with much to think about before hosting the World Cup in two years time.
Wales, mostly on the back foot in the previous game against England, rediscovered the attacking brio that had enabled them to beat Slovakia before that.
Bale, the scorer of a direct free kick in each of the two previous games to equal a European Championship record, was close with several fine efforts before becoming the first player since the Czech Milan Baros in 2004 to score in three successive games at the European finals.
Bale was outstanding in running at a Russian defence that allowed far too space to him and Ramsey, and also in breaking in support of Sam Vokes, the surprise selection in attack in place of Hal Robson-Kanu.
The Russian rarguard was not helped by their revamped midfield, which showed three changes from the last game but were outplayed by Joe Ledley and the tigerish Joe Allen.
Wales went at the opposition from the first minute. Bale set the tone by coming inside and hitting a fierce shot that Akinfeev could not hold.
Russia survived that but were behind when Allen played a perfect through ball for Ramsey, just onside, to place his shot over Akinfeev.
Before a quarter of the game had been played they were two goals to the good, Taylor taking advantage of an involuntary jab by Russian captain Roman Shirokov to score at the second attempt.
It was the first international goal from a player who last scored at club level six years ago.
Bale made chances for Vokes and Ramsey before the end of a first half in which Russia’s only threatening moment stemmed from a long clearance by Akinfeev.
Ashley Williams could not control it and Wayne Hennessey had to save from Artem Dzyuba at close range.
As in the 2-1 defeat by Slovakia, Russian coach Leonid Slutski made two early changes in the second half but this time there was no great improvement.
Ramsey, named man of the match, put Bale in for a chip that Akinfeev managed to touch wide of the far post and when the pair repeated their combination, the goalkeeper’s slight touch could not prevent a third goal.