The 25-year-old Scotland international had been out of contract, but will now remain in Cardiff until at least the end of 2021
Seam bowler Ruaidhri Smith has become the latest player to agree a contract with Glamorgan ahead of the 2020 county campaign.
The 25-year-old seamer debuted for the county in 2013, claiming the wicket of Kent's Brendan Nash with his first delivery in first-class cricket, and he has since gone on to claim another 64 victims in the format at 34.84 each.
Smith has agreed a new two-year deal with the Welsh county as he bids to add to his four international caps for Scotland and rebuild from an injury-stricken 2019 campaign, in which he made just seven first-team appearances.
"After a frustrating season with injuries, I was pleased to return strongly towards the end of the summer," Smith said.
"Hopefully I can now make the most of the winter break to prepare physically and keep improving my game, contributing to a successful season for the team.
"Having grown up in Cardiff supporting Glamorgan, it was always a dream to represent the county and I look forward to doing so for the next couple of seasons."
Mark Wallace, the county's director of cricket, added: "Ruaidhri has demonstrated his quality on many occasions.
"He is capable of bowling at good pace with good control, and his ability with the bat means he has the potential to develop into a genuine all-rounder.
"He's a multi-format player, who we're excited to see fulfil his potential at the club."
Smith follows Graeme Wagg, Owen Morgan, Tom Cullen and Marchant de Lange in recommitting to the club this off-season, while star Australia batsman Marnus Labuschagne is set to return for each of the next two seasons pending international commitments.
Subscribe to The Cricketer for exclusive content every day: The inside track on England's Test tour with George Dobell in Pakistan, award-winning analysis, breaking news and interviews and the only place for in-depth county coverage all year round. Plus: An ad-free app experience at your fingertips. Subscribe to thecricketer.com today for just £1.