The hosts attacked more in the incessant Vigo rain, but they were unable to find a way through against the nation who replaced them as champions of the world in July.
With both coaches fielding experimental sides the game did not turn out to be a classic between the two nations, but Germany nevertheless managed to emerge triumphant with Kroos’ 89th-minute winner.
Germany coach Joachim Low made more changes to his standard starting XI than his Spanish counterpart Vicente Del Bosque, but the lack of substitutions he made during the game indicated he wanted to take a particularly close look at his 11 starters, only three of whom won the World Cup back in July.
Kevin Volland was one of the Germany players given a chance to impress and he wasted his first opportunity, causing Iker Casillas no problem at all with a weak shot in the fifth minute.
Nolito, making his debut for Spain, was in a similar situation for the Iberian side, and he delivered their first shot of the game which Ron-Robert Zieler turned round the post.
There was a worrying sight for Bayern Munich fans in particular in the 20th minute when Thomas Muller was forced to leave the field with an injury he had picked up moments earlier.
With Philipp Lahm breaking his ankle in training on Tuesday, Bayern coach Pep Guardiola will be hoping not to receive more bad news when Muller returns to Munich on Wednesday.
Nolito continued to be Spain’s biggest source of danger and his 59th-minute shot gave Zieler some more work to do.
With the rain continuing to pour down, the initially slick pitch was beginning to turn boggy and the pace of the game suffered as a result.
It was hardly ideal conditions for two nations who like to play fast, attractive attacking football and the chances of a goal coming, if not from a mistake, were reducing by the minute.
Pedro did test Zieler again with a dipping shot which the Hannover custodian turned over the crossbar while Karim Bellarabi did his best to cause some confusion in the Spain penalty area, but it was a rare shot from Real Madrid’s Kroos which proved decisive.
He decided to test Spain substitute goalkeeper Francisco Casilla from 20 yards and his shot squirmed under the Espanyol goalkeeper, who will be keen to forget about his debut in a rush as the ball found its way through to earn the world champions victory.