Roach, 24, appeared in 16 games for San Diego mostly out of the bullpen in 2014 and produced a 4.75 ERA.
“He does a real nice job of keeping the ball on the ground,” Cubs President Theo Epstein said from the GM meetings in Arizona. “He’s a guy to add to that next tier of relievers.”
Roach was 4-6 with a 5.24 ERA for Triple-A El Paso after being sent down in June. He was a third-round pick of the Los Angeles Angels in 2010. The Cubs' 40-man roster now stands at 38.