The 25-year-old Zakarin had taken the race leader's yellow jersey at the end of Saturday's fifth stage but Sky star Froome had been expected to be too strong on Sunday. The 17.3-kilometre time-trial in the streets of the Swiss town was won by German specialist Tony Martin of Katusha.
Zakarin, whose previous best results never suggested he could be a contender in a race of this quality, even overcame a technical problem, which obliged him to change bikes five kilometres from the finish to take the
Froome, whose main target this season is to regain his Tour de France title he surrendered last year when he crashed out, failed to fire in the time-trial but he was far from dejected at not retaining his crown.
"I am not disappointed," the 29-year-old rider told Swiss television station RTS afterwards. "I know it is a long season and we still have two months till the start of the Tour de France.
"I am now going to go off on a training camp at altitude before competing in the Dauphine (a traditional warm-up race for the Tour)."
Martin for his part was astonished at Zakarin's performance — the 2007 European junior time-trial champion still managed to only finish 13 seconds behind the German in the time-trial despite his changing bikes.
"I am very surprised by his performance today notably because of his changing bike," said Martin.
"Already yesterday I was surprised (Zakarin finished second in a tough mountain stage). I didn't know of him before."