The England captain raced onto a Raheem Sterling through ball to fire in the opener from close range after four minutes at the Stadio Olimpico, England’s earliest goal in a Euros match since 2004.
Harry Maguire headed home a second less than a minute into the second half and Kane soon nodded in his side’s third as Ukraine’s resistance crumbled.
Substitute Jordan Henderson completed the rout with his first international goal to ensure England’s comfortable passage into the last four.
Gareth Southgate’s side will face Denmark at Wembley on Wednesday for a place in the final after the Danes defeated the Czech Republic 2-1 in Baku.
Fans had barely settled in their seats by the time England took the lead with a well-worked move.
Sterling cut in off the left wing and slid a through ball into a pocket of space behind the defence for Kane to race through and guide into the net with a neat finish.
Ukraine mustered their first effort when Kyle Walker gave the ball away in midfield and Roman Yaremchuk raced through to draw a good save by Jordan Pickford from a tight angle, while England’s Declan Rice and Jadon Sancho had shots beaten away by Georgiy Bushchan before halftime.
But England flexed their muscles after the break and ended the game as a contest within five minutes of the restart, helped by two fine assists from Luke Shaw.
The left-back whipped a free-kick onto Maguire’s head for a close-range finish in the first minute of the second half before steering a perfect delivery towards Kane for a simple close-range header four minutes later.
The goal sent Kane level with Alan Shearer as England’s second-top scorer at major tournaments with nine goals, behind Gary Lineker on 10, and he was denied a hat-trick when his ferocious volley was palmed away by the diving Bushchan.
England made it four from the resulting corner when Ukraine again failed to deal with a set-piece delivery as Henderson nodded in from six yards to score his first goal for his country on his 62nd cap.