Majchrzak, ranked world No. 76 by the Association of Tennis Professionals (ATP), defeated Medvedev 7-6, 6-1 in 90 minutes to continue his impressive run at the ATP 250 event in the Netherlands.
A day earlier, he recorded the biggest win of his career by beating fourth-ranked Canadian Felix Auger-Aliassime in the quarterfinals.
By overcoming world No. 8 Medvedev, the 30-year-old Pole secured his second consecutive victory over a top-10 opponent.
Medvedev had already been on court earlier on Saturday, completing a quarterfinal victory over Croatia's Marin Cilic after their match was suspended the previous day.
Majchrzak and Medvedev had met once before on the ATP Tour, with the Russian winning that encounter.
Although Majchrzak struck just one ace compared with Medvedev's eight, he was far more consistent on serve, committing only one double fault while the Russian made seven, Polish state news agency PAP reported.
Majchrzak will face second-seeded Australian Alex de Minaur in Sunday's final as he bids for his first ATP title.
De Minaur, ranked No. 6 in the world, advanced by defeating France's Adrian Mannarino 6-4, 6-0.
The Australian has beaten Majchrzak in both of their previous meetings, on hard courts in 2022 and 2025.
Fellow Pole Hubert Hurkacz was eliminated in the first round after losing to Hungary's Marton Fucsovics. Hurkacz also exited the doubles competition in the quarterfinals on Friday alongside Canadian partner Gabriel Diallo.
Earlier on Saturday, Poland's Magda Linette fell short of reaching the women's final at the WTA 250 event in 's-Hertogenbosch.
Linette lost 4-6, 6-7 to Czech player Barbora Krejčíková in a semifinal lasting more than two hours.
Krejčíková, the 2021 French Open champion and the 2024 Wimbledon champion, advanced to Sunday's final.
The tournament in 's-Hertogenbosch serves as a warm-up for Wimbledon, the only Grand Slam event played on grass, which begins later this month.
(gs)
Source: IAR, PAP