Olivo, 31, hit .249 with 23 home runs and 65 RBIs for the Royals last season. He will join Chris Iannetta in a catching duo with power potential. Olivo has finished the past four years in double figures in home runs, and has driven in at least 50 runs during three of the last four seasons. Iannetta has hit 34 homers over the past two years and became the first Rockies catcher since Charles Johnson in 2003 and '04 to finish in double figures in homers in consecutive years.
"We like his emotion, we like his passion, toughness and athleticism," Rockies general manager Dan O'Dowd said of Olivo. "We thought he would be a very good fit on our club."
Although Torrealba didn't hit for power, he posted a career-best .291 average last season and provided clutch hitting late. The new combination could bring greater thunder, but consistency is the question.
After hitting .264 and driving in 65 runs in 2007, Iannetta dropped to .228 last season and lost his starting job. Olivo finished last season with a .292 on-base percentage.
"I think we can have some production, but they both need to put the ball in play a little bit more -- both are capable of doing that," O'Dowd said. "We think that we're going to be in a good, competitive position this spring. It's a position where we wanted to have the best two we could possibly have. It's a tough position to fix if something goes wrong during the season."
Olivo became a possibility when the Rockies and Torrealba could not agree on a two-year deal. Torrealba had been with Colorado -- as the on-again, off-again No. 1 catcher -- since 2006, and was a major factor in the team's trip to the World Series in 2007 and the playoffs in '09.
Olivo played for five teams prior to the Rox (White Sox, Mariners, Padres, Marlins and Royals), with the Marlins and Royals giving him the most playing time. He was backup to John Buck with the Royals in 2008, but a strong performance at the end of that season earned him the starting job in '09.
Colorado will lose Torrealba's rapport with the pitching staff. Olivo's game-calling was questioned before he joined the Royals. But last season he caught 31 of American League Cy Young Award winner Zack Greinke's 33 starts, and Grienke enjoyed throwing to him.
Olivo also was the catcher when Rockies right-hander Ubaldo Jimenez struck out 10 Netherlands batters in four innings while represesenting the Dominican Republic in last year's World Baseball Classic
Thomas Harding is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.