The 24-year-old underlined his status as the country’s No 1 player by recovering from a nightmare opening set to defeat a valiant Evans 1-6 6-3 6-4.
Beverley’s Edmund will face unseeded American Taylor Fritz for a place in Saturday’s final.
Evans, the British No 3, came into the contest as the form player having won titles at Surbiton and Nottingham on grass this month.
An upset looked on the cards after the 29-year-old began confidently and breezed through the opening set.
He first broke South Africa-born Edmund in a bizarre opening game which was twice briefly disrupted, firstly by a spectator choking and then by a seagull landing on the court.
Edmund, who retired from the French Open last month with a knee injury, had won the only previous ATP Tour match between the players, at the 2017 Monte Carlo Masters.
His game was strewn with unforced errors in the opening set but he gradually settled and began to assert himself on the contest.
The world No 31 secured an important break in the third game of the second set, with mistakes beginning to creep into Evans’s play.
With a vocal crowd getting behind both men, the decider remained on serve until the 10th game when Edmund eventually made the most of his fourth match point to ensure himself at least one more warm-up match before Wimbledon.
Wimbledon champion Angelique Kerber eased into the semi-finals with a dominant straight-sets 6-4 6-3 victory over former world No 1 Simona Halep.
Kerber will face unseeded Ons Jabeur, who beat France’s Alize Cornet 1-6 7-5 6-3.