The Russian ran outside of the points for much of the race, as the frequent changes in weather and track conditions contributed to several twists and turns in the lead battle.
But after making a key switch to slick tyres on the drying track right at the penultimate safety car restart, Kvyat cycled through to third place – which became second when he passed the Racing Point of fellow slick-tyre gambler Lance Stroll.
He would be overtaken by Ferrari’s Sebastian Vettel in the end, but held on to score his second-ever podium in grand prix racing – and Toro Rosso’s first since it won with Vettel at Monza in the wet in 2008.
“It was amazing. Amazing to be back on the podium,” Kvyat said. “Incredible for Toro Rosso after so many years, to bring a podium to the team is amazing.
“The race was crazy. Finally I managed to put everything together to get this podium. I’m really happy.
“It was a horror movie with a black comedy. At some point I thought the race was done for me but it came alive again. It was incredible.“It was incredible. A rollercoaster. A bit like my whole career.”
Kvyat also revealed his girlfriend Kelly Piquet had given birth to his first child, a girl, the night before the race.
Race winner Max Verstappen described the German GP as being “about trying not to make too many mistakes”, having himself spun in the opening stages.
“I had a little moment, made a nice 360, so that was nice, enjoyed that,” he joked. “Really tricky conditions, so of course it’s amazing to win. “Really happy with the whole performance today.”
Second-placed Vettel, who had been relegated to last on the grid by an intercooler failure in qualifying, said the race – the longest of the season so far at one hour and 44 minutes – felt “never-ending”.
“It was very tough with the conditions, very tough to read what’s the smartest move,” Vettel said.
“In the beginning with the intermediates I couldn’t get the hang of it – eventually I got going, so it’s good the afternoon took so long.”