Norwich City forward Teemu Pukki scored twice in Helsinki and Jasse Tuominen also netted to bring the home crowd pouring onto the pitch at the final whistle as Finland wrapped up second place behind Group J winners Italy.
Roberto Mancini's Italy registered a record 10th straight win as they eased past Bosnia and Herzegovina 3-0 in Zenica.
Francesco Acerbi, Lorenzo Insigne and Andrea Belotti scored for Italy, who have bounced back impressively after failing to qualify for last year's World Cup year for the first time since 1958.
"Mancini has done a great job, he has given us clear ideas in a short period of time. We are proud of the record of ten consecutive wins but our objectives and our dreams are honestly others," said Belotti.
Bosnia are guaranteed a place in the play-offs after finishing top of their UEFA Nations League group last year.
Sweden qualified for a sixth straight European Championships after a 2-0 success in Bucharest that eliminated Romania from contention.
Marcus Berg and Robin Quaison scored first-half goals for Sweden who secured second place behind Group F winners Spain, leaving Romania hoping for a play-off berth.
Berg headed in an inviting cross from Emil Forsberg as Sweden surged ahead on 18 minutes and then turned provider as he cushioned the ball off for Quaison to double the lead.
Seven different players were on target for already-qualified Spain in a 7-0 thrashing of lowly Malta in Cadiz.
Alvaro Morata opened the scoring on 23 minutes before former Arsenal midfielder Santi Cazorla bagged his first international goal in four years.
Pau Torres, substitutes Pablo Sarabia and Dani Olmo, Gerard Moreno and Jesus Navas completed the rout as Spain made sure of top spot.
Spanish fans honoured Sergio Ramos with a huge mosaic of the defender who last month broke the record previously held by Iker Casillas for most national team appearances.
"I'm very happy. What better way for me to toast this tribute than with a victory of such authority and playing such good football?" said Ramos, who earned his 169th cap Friday.
"The joy is two-fold on both a personal and group level."
Alexander Sorloth struck twice for Norway in a 4-0 win over the Faroe Islands. Tore Reginiussen and Iver Fossum got the other goals in Oslo for the hosts who will head into the playoffs.
Denmark require a draw from their final game against the Republic of Ireland after a 6-0 demolition of Gibraltar.
Christian Eriksen and Robert Skov both hit a brace in Copenhagen with Martin Braithwaite and Christian Gytkjaer also on the scoresheet.
Switzerland occupy second place in Group D behind Denmark after a nervy 1-0 win over Georgia courtesy of late header from debutant Cedric Itten.
"I'm still in a bit of shock," said Itten. "To score on my debut here in St Gallen is a dream come true. It's still going to take a while to sink in."
Collated Euro 2020 qualifying results from Groups D, F and J on Friday:
Denmark 6 (Skov 12, 64, Gytkjaer 47, Braithwaite 51, Eriksen 85, 90+4) Gibraltar 0
At St Gallen, Switzerland
Switzerland 1 (Itten 77) Georgia 0
Norway 4 (Reginiussen 4, Fossum 8, Sorloth 62, 65) Faroe Islands 0
Romania 0 Sweden 2 (Berg 18, Quaison 34)
At Cadiz, Spain
Spain 7 (Morata 23, Cazorla 41, Pau Torres 62, Sarabia 63, Olmo 69, Gerard Moreno 71, Navas 85) Malta 0
Armenia 0 Greece 1 (Limnios 35)
Finland 3 (Tuominen 21, Pukki 64-pen, 75) Liechtenstein 0
At Zenica, Bosnia and Herzegovina
Bosnia and Herzegovina 0 Italy 3 (Acerbi 21, Insigne 37, Belotti 52)
Playing on Saturday (21:45 SA time unless stated):
At Moenchengladbach, Germany
Germany v Belarus
Northern Ireland v Netherlands
Azerbaijan v Wales (19:00)
At Rijeka, Croatia
Croatia v Slovakia
Austria v North Macedonia
Israel v Poland
Slovenia v Latvia (19:00)
Cyprus v Scotland (16:00)
At Saint Petersburg, Russia
Russia v Belgium (19:00)
At Serravalle, San Marino
San Marino v Kazakhstan (19:00)
Played on Thursday:
At Plzen, Czech Republic
Czech Republic 2 (Krai 71, Celustka 79) Kosovo 1 (Nuhiu 50)
England 7 (Oxlade-Chamberlain 11, Kane 19, 24, 37, Rashford 30, Sofranac 66-og, Abraham 84) Montenegro 0
At Faro, Portugal
Portugal 6 (Ronaldo 7-pen, 22, 65, Pizzi 52, Paciencia 56, Bernardo Silva 63) Lithuania 0
Serbia 3 (Mitrovic 11, 43, Radonjic 70) Luxembourg 2 (Rodrigues 54, Turpel 75)
At Elbasan, Albania
Albania 2 (Balaj 6, Manaj 55) Andorra 2 (Martinez 18, 48)
France 2 (Varane 35, Giroud 79-pen) Moldova 1 (Rata 9)
At Istanbul, Turkey
Turkey 0 Iceland 0