The moves came one day after Boston placed third baseman Will Middlebrooks on the 15-day disabled list with a right calf strain and recalled Holt.
The Red Sox also transferred right-hander Steven Wright from the 15-day disabled list to the 60-day DL.
The 33-year-old Roberts has played eight seasons with Toronto, Texas, Arizona and Tampa Bay. He has a career batting average of .245 with 46 homers in 510 games. He's spent most of his time at third base, 217 games, and played 197 games at second.
Last year with Tampa Bay, Roberts hit .247 with five homers in 16 games. He played 18 games with the Chicago Cubs in spring training this year.
Roberts will make $1 million in the majors and $200,000 in the minors. He can earn $250,000 in performance bonuses: $50,000 each for 300, 350, 400, 450 and 500 plate appearances.