Team Niklas Edin scored two points in the first end but Scotland held on as skip Ross Paterson reduced the deficit to 4-3 at the midway stage.
But Sweden extended their advantage in the seventh end when Edin played a hit and roll to move 6-3 ahead.
Scotland scored a single point in the eighth end but it wasn't enough as two more for Sweden in the ninth sealed the victory.
"It was quite hard. They played really well. We kind of had to play on that lead," Edin said.
"It was big enough to keep the momentum on our side.
"We couldn't give up any risks and they got back into the game, so it was important for us to keep the focus.
"That two in seven feels like it really sealed the deal."
Sweden will face Switzerland in the final after they recorded an 8-5 win over Denmark.
Skip Yannick Schwaller played a draw in the first end to secure two points while after claiming another single point and stealing two more, Switzerland led 5-1 after the fifth end.
Another two points were stolen by Switzerland in the eighth and despite Denmark claiming two of their own they were unable to overturn the deficit.
It's the first time since 2015 that Switzerland have made the final, when they left with a silver medal.
"I'm still pretty nervous," Schwaller said.
"You try and stay in the tunnel as long as you can, especially when the rest is just clear, it's important to stay consistent until the end.
"Of course, it will sink in, but we know we have one more to do.
"The team is playing good so far, better and better from game to game."