Both sides entered this game with question marks after unconvincing performances in the group stage, with England only scoring twice despite leading the group while Germany needed a goal late against Hungary to seal their progress.
It was a game of few chances, however Jordan pickford made an awesome stop to deny Kai Havertz just after the break, while the German defender Hummels rugs produced an impressive tackle on the goal line to stop Kane just before half-time.
After a quiet first half, Luke Shaw grew up in the game and provided an assist for England’s opener, while Jack Grealish started off the bench again, but was introduced in the 69th minute in place of Bukayo Saka and also set a goal.
The breakthrough came 75 minutes as Shaw played a ball through the goal for Sterling to strike from close range following a good job from Grealish.
Thomas muller then had a glorious chance to equalize for Germany after Sterling gave the ball away, but somehow put his effort aside when he was clean.
Shaw and Grealish again combined for the second goal with Aston Villa man providing help on this occasion.
Kane, who appeared to be injured in the middle of the second half but continued to play, sealed the victory with his first goal of the tournament in the 86th minute as he finished a cross from Grealish with a header from close range .
“We knew we needed a big performance against a tough team, and we did it today,” Sterling said after the game. “Doing it for your country is always special.
“For half a second I thought I would leave it [Sterling’s goal] not to be offside, but I’m so glad he came in. We knew how hard we could play, few teams can handle it.
A clean sheet ensures that England are the only remaining Euro team to have conceded a goal yet.