From the opening serve, Russia looked completely off.
They looked nothing like the No. 4-ranked team in the world, falling behind 8-1 before dropping the first set 25-9.
Russia rebounded a little from there, but Serbia never looked back, coasting to a sweep in straight sets (25-9, 25-22, 25-21) and will take on the U.S. Thursday in the semifinals.
Russia didn't even pick up its first lead until the middle of the third set, getting out to a 12-11 advantage.
"We didn't show our game and I feel sorry for the fans," Russian coach Yuri Marichev told FIVB. "We couldn't overcome the nervousness of our players. We missed some veteran players who are not here, but all the teams are going through changes."
Tijana Boskovic (20 points, five aces) and Milena Rasic (16 points, five blocks, three aces) led the way for Serbia. Tatiana Kosheleva scored 17 points and collected four blocks for Russia.
In a fitting end, the match point came on a service error from Russia.
"I don't want to say much," Russian captain Ekaterina Kosianenko told FIVB. "Only to tell the fans that I am very sorry after this match."
With the victory, the Serbian women's volleyball team qualified for the semifinals for the first time in Olympic history.
Serbia and Team USA have played twice in the Olympics, including a 3-1 win from the Americans in preliminary play in Rio.
The U.S. squad also swept Serbia in the pool stage in London 2012.
"[USA] is also a very difficult opponent like Russia, but very different," Serbian coach Zoran Trezic said. "Russia depends mostly on two players and United States plays more like a team. They play much, much faster so we have to prepare for an absolutely different game."
Russia took home silver in the 2004 and 2000 Olympics, but will not have a shot at a medal in Rio for the third straight Games.