She was also fined one million roubles ($A23,395), according to media reports.
Olympic champion Griner, who plays in Russia in the US off-season, was detained in February at Moscow Sheremetyevo airport, days before Russian troops invaded Ukraine.
The basketball star had admitted to the court that she had been carrying cannabis oil but had explained it was for medical reasons.
Griner was found by the court to have been in possession of illegal substances and attempted smuggling.
She pleaded guilty to the charge.
The prosecution had demanded nine years and six months, close to the maximum sentence of 10 years.
The defence called for her acquittal.
When asked, Griner said she understood the sentence.
Her defence team said it would appeal the judge’s decision.
The US government meanwhile demanded her release.
“Today, American citizen Brittney Griner received a prison sentence that is one more reminder of what the world already knew: Russia is wrongfully detaining Brittney. It’s unacceptable, and I call on Russia to release her immediately so she can be with her wife, loved ones, friends and teammates,” US President Joe Biden said in a statement.
He said his administration would “continue to work tirelessly and pursue every possible avenue” to bring her home safely as soon as possible.
The US government has criticised the trial as politically motivated, coming amid Russia’s war on neighbouring Ukraine.
Biden had promised Griner’s wife Cherelle Griner his help and support in a call in early July.
US Secretary of State Antony Blinken and his Russian counterpart Sergei Lavrov also discussed the possibility of a prisoner exchange that could potentially bring about Griner’s release, along with that of Paul Whelan, another US citizen detained in Moscow.
Whelan has been imprisoned for alleged espionage since his arrest in 2018.
Griner, a twice Olympic champion and star of the Phoenix Mercury WNBA team, plays in Russia in the US off-season, as many other professional players do.
Seen as one of the best players in the WNBA, she has played for the UMMC Ekaterinburg team since 2015, helping the club win the Euroleague four times.
Griner won two gold medals at the Olympics, playing for the US women’s team in 2016 and 2020, as well as world championships with the US team.
Local News Matters
Media diversity is under threat in Australia – nowhere more so than in South Australia. The state needs more than one voice to guide it forward and you can help with a donation of any size to InDaily. Your contribution goes directly to helping our journalists uncover the facts. Please click below to help InDaily continue to uncover the facts.