The Poland striker smashed the ball into the top corner from the edge of the penalty area as Pep Guardiola's side booked their place in the final of the pre-season tournament against Real Madrid tonight.

Milan looked relatively comfortable at the back before an error from a defender allowed Sebastian Rode to regain possession for the Bavarians.

Thomas Muller then picked up the ball before flicking it past Philippe Mexes and onto the laces of Lewandowski who duly hammered home to seal the victory.

The match turned a little less than friendly when Bayern boss Guardiola lost his temper following a bad tackle by Milan midfielder Nigel De Jong.

De Jong fouled Joshua Kimmich in the first-half, leading to the 20-year-old being substituted with injury.

Guardiola, 44, took exception to the challenge and waited for De Jong in the tunnel to confront the midfielder.