Abreu was signed by the Dodgers as an undrafted free agent on October 17, 2002. He played for the Gulf Coast Dodgers of the Rookie Leagues in and the Columbus Catfish in "A" ball in. In, while playing for the Vero Beach Dodgers, Abreu led the Florida State League in hitting with a.327 batting average and was an All-Star at second base. He also played for the Phoenix Desert Dogs in the Arizona Fall League, and helped win an AFL championship, batting.305 with a homer and seven RBIs in the AFL. In, for the Double-A Jacksonville Suns, he hit.287 and was invited to spring training with the Dodgers before the season. He hit.340 for the Dodgers in spring training, but wound up opening the season with the Triple-A Las Vegas 51s. Primarily a second baseman in the minors, the Dodgers used his stint with the 51s to give him some playing time at third base, figuring that was the position that he might get the best chance to advance. Abreu made his Major League debut on May 22 against the Milwaukee Brewers, and recorded his first Major League hit three days later against the Chicago Cubs. He hit his first home run on June 26, 2007, as a pinch hitter in the 10th inning to key the Dodgers extra innings victory over the Arizona Diamondbacks. He suffered a groin injury late in the 2007 season that kept him on the disabled list for the entire 2008 season. He began the 2009 season in the minors with the Chattanooga Lookouts and the Albuquerque Isotopes. After hitting.342 in 37 games with the Isotopes, he returned to the big leagues when the Dodgers called up him up on August 7.
Arizona Diamondbacks
He was traded to the Arizona Diamondbacks as the "player to be named" in a deal that sent pitcher Jon Garland to the Dodgers. The deal was held up for several weeks due to a dispute between Abreu and the Dodgers over service time. He appeared in 81 games with the Diamondbacks in 2010 and hit.233.
Abreu was signed as a free agent by the Kansas City Royals after spending the 2011 season in the Diamondback minor league system. He was called up to the Royals on August 5, 2012 after spending time in the Royals minor league system. Abreu appeared in 22 games with KC, batting.257. On January 25, 2013 the Royals designated Abreu for assignment as they made room on the 40-man roster for catcher George Kottaras.
San Francisco Giants
On February 4, 2013, the San Francisco Giants claimed Abreu off waivers from the Kansas City Royals. He was placed on the 15-day disabled list on March 30, but would play in 53 games hitting.268 for the Giants during the 2013 season. The Giants released Abreu on March 23, 2014, prior to the end of spring training, but later re-signed him to a minor league contract, which he opted out of on July 21, 2014.
On November 1, 2017 Abreu was selected by the New Britain Bees in the Bridgeport Bluefish dispersal draft On February 13, 2018, Abreu signed with the Bees for the 2018 season. Abreu announced his retirement on May 4, 2018.