Cleveland sent Gonzalez, who appeared in 81 games for the American League Central champions last season, and right-handers Tahnaj Thomas and Dante Mendoza to the Pirates for outfielder Jordan Luplow and infielder Max Moroff.
Gonzalez batted .265 with one homer and 16 RBIs last season for Cleveland, which signed the Dominican native in 2009. Gonzalez filled a utility role for the Indians, but was not going to be able to get into the starting lineup behind All-Stars Francisco Lindor and Jose Ramirez.
The 25-year-old Luplow brings needed depth to Cleveland's outfield, which was decimated by injuries last season. He appeared in 64 games over the past two seasons with the Pirates, who named him their top minor league player in 2017.
Moroff has split the past three seasons between Triple-A Indianapolis and Pittsburgh, appearing in 26 games for the Pirates in 2018.