The English captain ran on a Rahim sterling thanks to the ball to shoot in the opener from close range after four minutes at Stadio Olimpico, England’s first goal in a Euros game since 2004.
Harry maguire got home a second less than a minute into the second half and Kane soon nodded in his team’s third as Ukrainian resistance crumbled.
Replace Jordan henderson ended the rout with his first international goal to secure England’s comfortable passage into the last four.
Gareth Southgate’s side face Denmark at Wembley on Wednesday for a place in the final after the Danes beat the Czech Republic 2-1 in Baku.
Fans had barely settled into their seats when England took the lead with a well-worked movement.
Sterling cut the left wing and slipped a through ball into a pocket of space behind the defense so Kane could cross and guide into the net with a neat finish.
Ukraine succeeded in its first effort when Kyle walker gave the ball to the midfield and Roman Yaremchuk ran to shoot a good stop by Jordan pickford at a tight angle, while England Declan rice and Jadon Sancho shots were repelled by Georgiy bushchan before half-time.
But England tensed their muscles after the break and finished the game as a match within five minutes of the restart, aided by two fine assists from Luke Shaw.
The left-back gave Maguire a free kick to the head for a point blank finish in the first minute of the second half before directing a perfect delivery to Kane for a simple point blank header four minutes later.
The goal sent Kane tied with Alan Shearer as England’s second-highest goalscorer in majors with nine goals, behind Gary Lineker in 10, and he was denied a hat-trick when his fierce volley was won by the Bushchan dive.
England scored four after the resulting corner kick when Ukraine again failed to cope with a set piece as Henderson nodded six yards to score his first goal for his country during of his 62nd selection.