López signed with the New York Yankees in 2002. He played in their minor league system until he was released in 2007. He signed with the San Diego Padres two days later.
In 2007, López played for the Fort Wayne Wizards and Lake Elsinore Storm, going 1-0 with a 3.30 ERA in 22 games for the former and 2-1 with a 6.10 ERA in 22 games for the latter. He played for the Storm, San Antonio Missions and Portland Beavers in 2008, going 2-1 with a 2.64 ERA in 30 games with the Storm, 0-2 with a 4.93 ERA in 27 games with the Missions, and 0-0 with a 9.00 ERA in one game with the Beavers.
On April 10, 2009, López was selected off waivers by the Houston Astros from the Padres. López served as the team's closer in 2012 after Brett Myers was traded to the Chicago White Sox.
López and a player to be named later or cash from the Astros was traded to the Colorado Rockies for pitcher Alex White and minor league pitcher Alex Gillingham. He was designated for assignment on June 9, 2014. He was re-added to the roster on June 21. In October 2014, Lopez elected free agency.
Toronto Blue Jays
López signed a minor league deal with the Toronto Blue Jays on December 12, 2014. He was released on June 30.