On December 1, 2002, the Blue Jays traded the switch-hitting Lopez as part of a four-team trade with the Cincinnati Reds, Oakland A's, and the Arizona Diamondbacks. The Toronto Blue Jays sent him to the Cincinnati Reds, who sent pitcher Elmer Dessens to the Arizona Diamondbacks. The Diamondbacks sent first basemanErubiel Durazo to the Oakland Athletics, who, in turn, sent minor league pitcher Jason Arnold to the Blue Jays. After backing upBarry Larkin during the and seasons, López earned the starting job in. López's first season as the Reds' regular shortstop was his breakthrough. He hit 23 home runs and stole 15 bases while compiling a.291 batting average with a.352 on-base percentage. He was selected to the 2005 National League All-Star team.
López was traded by the Reds on July 13, 2006, to the Washington Nationals along with Austin Kearns and Ryan Wagner for Gary Majewski, Bill Bray, Royce Clayton, Brendan Harris, and Daryl Thompson, a minor league prospect. In 2006, he tied for the Major League lead inerrors at shortstop, with 28, and had the lowest fielding percentage. When first traded to the Nationals, López's original jersey number was 7, however when Damian Jackson was traded, he turned in his number 7 for Jackson's previous jersey number 2. In, he had the lowest fielding percentage of all NL shortstops,.957, and often found himself switching between the position of shortstop and second base. This switch was due to the recovery of the Nationals original shortstop, Christian Guzman, who had injured himself in 2005, though he later gave the position back to Lopez after sustaining yet another injury during the 2007 season. On April 24, 2008, López hit a grand slam to give Washington a 7–3 lead en route to a 10–5 victory over the Mets. On July 31, 2008, López was released by the Nationals. in.
St. Louis Cardinals (2008)
López was signed by the St. Louis Cardinals on August 5, 2008. He debuted August 6 when the Cardinals played the Los Angeles Dodgers. He played left field and recorded a single in his first at bat, finishing the game 1 for 3. Lopez closed out the season batting.385 with the Cardinals and brought his season average up to.283. He became a free agent at the end of the season.
Arizona Diamondbacks (2009)
On December 12, 2008, López signed with the Arizona Diamondbacks. Lopez hit two home runs in his first two at-bats in his first game with the Diamondbacks, which is the first time that has happened since Richie Sexson in 2005 with the Seattle Mariners. Lopez and teammate Tony Clark were also the first players to hit a home run from both sides of home plate on Opening Day in a 9–8 win over the Colorado Rockies. Lopez hit lead-off for The Diamondbacks, and posted a.305 average through 84 games, as well as 6 Home Runs, 25 RBI, and 44 runs.
On July 19, the Milwaukee Brewers acquired López in exchange for minor league outfielder Cole Gillespie and pitcher Roque Mercedes. He went 4 for 4 in his debut with the Milwaukee Brewers. In 2009, Lopez tied for the Major League lead in errors by a second baseman, with 17.
Second stint with St. Louis Cardinals (2010)
On February 27, 2010, López signed a one-year deal with the St. Louis Cardinals. López' base salary will be $1 million plus performance incentives of $1.2 million. On April 17, 2010, López started against the New York Mets at shortstop, was moved to third base, and then pitched in the 18th inning of the game. Although the Cardinals eventually lost the game in the 20th inning, López pitched a scoreless inning, giving up only one hit and a walk. He then went on the DL, and came back and took over as the starting third baseman for the Cardinals after David Freese had a season ending foot injury. He eventually became the backup when the Cardinals acquired Pedro Feliz. On September 21, 2010, López was released by the St. Louis Cardinals because he wasn't fitting in with the team's focus on younger players.
López was claimed by the San Diego Padres, but he rejected the claim to become a free agent and signed with the Boston Red Sox, because he would not feel a part of the team as he would be ineligible for the Padres post-season roster. On September 28 López made his debut with the Red Sox.
On February 2, 2011, López signed a minor league deal with the Tampa Bay Rays with an invite to spring training. On May 3, the Rays designated him for assignment to make room on the 25-man roster for Evan Longoria coming off the disabled list. He had his contract purchased on May 22 when Reid Brignac was placed on the bereavement list. On June 12, 2011, López was designated for assignment again when Elliot Johnson was activated from the 15-day disabled list.
Return to Milwaukee (2011)
Lopez was traded back to the Milwaukee Brewers on July 28, 2011, for cash considerations. On August 21, after recording a.182 batting average in 51 plate appearances for Milwaukee, he was designated for assignment. After the 2011 season, he elected for free agency.