British skip David Murdoch took advantage of an error by Swedish counterpart Niklas Edin in the final end to seal a dramatic 6-5 victory with the last stone.
Canada proved too strong for China in the other game, surging to a comprehensive 10-6 win.
The men's final will be played on Friday.
Canada will meet Sweden in Thursday's women's final, a re-run of the 2010 gold medal game from Vancouver.
(Reporting by Keith Weir; Editing by Peter Rutherford)
