The European champions now lead their opponents in May's Champions League final by four points after just two games as Atletico Madrid were held 0-0 at newly promoted Leganes.
Alvaro Morata looked to have Real on their way to another three points when he eventually broke Celta's resistence by smashing home on the hour mark.
Fabian Orellana curled home a spectacular equaliser 24 minutes from time, but Kroos's sublime low strike in off the inside of the post secured all three points for the hosts 10 minutes from time.
"We played so-so today," said Madrid boss Zinedine Zidane. "I am left with the fact the players believed until the end and we achieved what we wanted."
Ronaldo was still sidelined by the knee ligament injury that forced him off during Portugal's Euro 2016 final victory over France.
In his absence, Gareth Bale was expected to lead Real to another comfortable win after continuing his sensational form with Wales at the Euros with two goals in a 3-0 victory at Real Sociedad last weekend.
However, Bale endured a frustrating night and it was another former Tottenham Hotspur star in Luka Modric who shone in a tight first half with two long-range efforts that forced Sergio Alvarez into fine saves, while a third effort from the Croatian came back off the bar.
Bale came to life after the break when Alvarez got a fingertip to send his viciously dipping free-kick over the bar.
Morata was handed his second home debut after returning from a two-year spell at Juventus with Karim Benzema also sidelined. And he took full advantage by firing home the rebound after Alvarez had denied Marco Asensio.
Real's joy was short-lived, however, as Orellana took advantage of the time he was given at the edge of the area to fire home a fine equaliser six minutes later. Kroos, though, was Real's hero as the German brilliantly measured a side-footed effort in from 25 yards to the relief of the Bernabeu.
Atletico's slow start to the campaign continued as they have now managed just two points from their opening two games, both against newly promoted opposition.
Euro 2016 top scorer Antoine Griezmann missed the best chance of the first-half, whilst Leganes goalkeeper Jon Serantes saved from Kevin Gameiro and Fernando Torres after the break.
"If we keep playing like this we'll be fighting against relegation," raged a frustrated Griezmann to BeIN Sports.
Valencia have endured an even more disastrous start to the campaign as they lost 1-0 at Basque minnows Eibar to follow-up a 4-2 thrashing at home by Las Palmas on Monday.
Pedro Leon scored the only goal of the game with Valencia missing captain Paco Alcacer ahead of his expected move to Barcelona.