Fernandez had been third after Thursday's short program but stormed into the lead with two quadruple jumps and 179.75 points in the free skate for a total of 271.59, as short program leader Kolyada fell three times.
Fernandez had barely competed or trained since winning bronze at last year's Olympics, as he prepares to retire from competitive skating to focus on commercial ice shows.
Javier Fernandez sizzles to sit third in European Championships
"I've not been able to train for so long and to take a long break since Olympics, that was quite complicated, and knowing that it was going to be my last competition, so I think those three things are the hardest things," he said.
Russia's Alexander Samarin was second with 269.84 after some shaky landings. Italy's Matteo Rizzo stormed from tenth after the short program to third overall with 247.08 for his country's first European men's medal in ten years.