
The judge ignored a plea by the defence to fine the 48-year-old instead of jailing him.
Vinatier, in a speech to the court before he was sentenced, said he loved Russia, apologised for breaking the law, and even recited a verse by Russian poet Alexander Pushkin.
A longtime researcher on the former Soviet Union, he was arrested in June by the FSB security service and accused of failing to register as a foreign agent in Russia while collecting military information of value to foreign intelligence services.
The offence carries a sentence of up to five years, but prosecutors requested a term of three years and three months in recognition of the fact that Vinatier had pleaded guilty.
France says Vinatier has been arbitrarily detained and has called for his release.
President Emmanuel Macron has denied that Vinatier worked for the French state and has described his arrest as part of a misinformation campaign by Moscow.
Vinatier is an employee of the Centre for Humanitarian Dialogue, a Swiss-based conflict mediation organisation. Fellow academics who know him have told Reuters he is a respected scholar involved in legitimate research.