On December 15, Gonzalez was drafted by the Texas Rangers from the Tampa Bay Devil Rays in the 2003 Rule 5 draft. Gonzalez saw his first action at Double-A in, playing with the Frisco RoughRiders of the Texas League in. He put together a 16-game hitting streak from May 4–20, boosting his batting average from.190 to.327 during that stretch. He batted.299 with five homers and 26 RBIs in 52 home games.
Gonzalez was drafted by the Washington Nationals from the Texas Rangers in the 2004 Rule 5 draft, making it the second time he was chosen by a team from the draft. He opened the season at the Double-A Harrisburg Senators and played 101 games at Double-A before an August promotion to the Triple-A New Orleans Zephyrs. He picked up his first hit at Triple-A on August 16 against the Omaha Royals. On March 31, Gonzalez was released by the Washington Nationals.
Florida Marlins
After signing with Florida on April 4, Gonzalez opened the season with the Class-A Advanced Jupiter Hammerheads. He was promoted to the Double-A Carolina Mudcats after hitting.293 with Jupiter. He had hits in 18 of his first 24 games at Carolina, batting.341 in May. He hit at a.349 clip out of the second slot in the line-up while with Carolina. He was transferred to the Triple-A Albuquerque Isotopes on July 19. He picked up his first hit on July 21 at New Orleans and continued with a 10-game hitting streak that lasted through August 1. Gonzalez hit.392 during his 46 games at Triple-A.
St. Louis Cardinals
On January 30, Gonzalez signed as a Free Agent with the St. Louis Cardinals. He spent the entire '07 season with the Triple-A Memphis Redbirds of the Pacific Coast League batting.308 with 34 doubles, eight home runs, 53 RBIs and 15 stolen bases in 126 games.
Gonzalez made his Major League debut in May, and spent the remainder of the season with San Diego. He joined his younger brother Adrian on the Major League club, becoming the sixth set of brothers in club history and fourth pair to play together. He finished among National League rookie leaders in batting average, home runs, RBI, multiple-hit games, runs, hits, total bases, doubles, walks, on-base percentage, slugging percentage and extra-base hits. He made 72 appearances at second base, 66 starts, four at third base, two starts, three at shortstop, one start, two in left field, one start, and three in right field, one start. Gonzalez posted a.984 fielding percentage overall, making five errors in 310 total chances. His contract purchased from the Triple-A Portland Beavers on May 12 and he made his Major League debut that night against the Chicago Cubs, collecting his first hit, an RBI single. He was only the sixth player in franchise history with an RBI hit in first career plate appearance and first since Kevin Higgins in. Gonzalez made his debut at 29 years, 333 days old making him the second oldest player to make his debut for the Padres, the first being Akinori Otsuka at 32 years, 84 days old. Nine June doubles tied him for second in the National League during the month in that category.
In Gonzalez failed to follow up his superb rookie season. He hit.216 with 33 hits, eight doubles, two triples, four home runs and 18 RBIs. On July 18, he was struck in the head by a fastball from Colorado Rockies'pitcherJason Hammel. This caused Gonzalez to miss seven weeks with concussion-like symptoms.
Yomiuri Giants
On January 8, 2010, Gonzalez signed with the Yomiuri Giants of the Nippon Professional Baseball.