Urshela hadn't played in the majors this season after a hamstring injury set him back in spring training. The trade came Wednesday, five days after the Indians designated him for assignment.
The 26-year-old Urshela hit .224 with one home run and 15 RBI in 67 games with the Indians last season. He was batting .324 with seven RBI in 11 games at Triple-A Columbus this season.
Urshela, who also appeared in 81 games for Cleveland in 2015, has played all four infield positions. Manager John Gibbons said defensive versatility will be an asset for the Blue Jays, who currently have shortstops Aledmys Diaz (left ankle) and Troy Tulowitzki (right ankle) on the disabled list, and recently demoted struggling second baseman Devon Travis to Triple-A.
Third baseman Josh Donaldson has also spent time on the disabled list this season with a sore right shoulder. Donaldson was the DH for Wednesday's game against Seattle, with catcher Russell Martin getting the start at third base.
The Blue Jays will add Urshela to their 40-man roster but must wait for him to obtain a work visa before deciding whether to bring him to Toronto or assign him to Triple-A Buffalo.