Madrid have now won six consecutive matches against Bayern in Europe's top competition and, not for the first time in that punishing run, Bayern were entitled to feel hard done by as they created the bulk of the chances in an error-strewn affair.
But they were unable to build upon Joshua Kimmich's scything 28th-minute opener, with Marcelo levelling it up shortly before the interval.
A dreadful mistake from Rafinha let in Marco Asensio and the substitute produced an assured 57th-minute finish, handing Madrid a significant advantage ahead of the return at the Santiago Bernabeu in six days' time.
"It’s true, I think they had more opportunities than us, but it's normal – if you play away in the semis of the Champions League you suffer," former Bayern midfielder Kroos told BT Sport.
"They selected a very offensive line-up and that's what we expected. They put us under pressure from the first minute.
"We can play better, especially with the ball. We did not have enough possession to do a very good game, but in the end you have to score.
"We did and we take a good result to Madrid. We have to be there in the important moments and we were.
"In some moments we played good football, but not as much as we can. If you can't do this then you have to work. As a team we worked a lot and ran a lot."
Kroos pinpointed Marcelo finding the target with an unerring low drive as a pivotal moment in the contest.
"Of course, it was a good moment to score because we had some problems. It was a very good goal," he added.
"In the second half we started better than the first half and Marco is a very talented player who always has the possibility to score."