On June 2 1994 Castro was selected by the Houston Astros in the first round (17th overall pick) of the Major League Baseball draft, becoming the first Puerto Rican to ever be drafted in the first round. After this, seven more Puerto Ricans entered the first round's top ten, but most graduated from high school or colleges that offered them scholarships in the United States. He remained the highest-selected player drafted directly from a Puerto Rico high school until 2012, when Carlos Correa became the first overall pick. He was traded to the Florida Marlins in 1998 for relief pitcher Jay Powell.
Castro made his major league debut on August 27, 1999 in a game against the Houston Astros. He spent 1999 and 2000 competing with Mike Redmond for playing time and, when Charles Johnson arrived in Florida, Castro spent most of the 2001 season in the minor leagues. In 2002 he was back in the majors but as a third option and, in 2003, he played behind Iván Rodríguez as the Marlins won the 2003 World Series. However, Castro did not appear in the series. In 2004 Rodríguez was gone, giving Castro his first opportunity as a starter but a .135 batting average and an early-June season-ending injury finished his time in Florida. Paul Lo Duca finished out the Marlins' catching duties for 2004. The Marlins released Castro in October 2004.
Castro is known as a good defensive catcher, but, despite showing occasional home run power has never displayed sufficient hitting skills to win a job as a starter, along with struggling with injuries throughout his career. While never hitting for a superior average, however, his hits are often well-timed.
In December 2004, Castro signed with the New York Mets. In 2005 he was backup catcher to Mike Piazza, with 41 RBIs in 209 at-bats, a career-best .244 batting average, and playing solid defense.
When Piazza became a free agent after the season, it looked like Castro might again get a chance to be a starter, but the Mets traded for Paul Lo Duca who previously had replaced Castro in Florida. Injuries further reduced his role in 2006, limiting him to 126 at-bats.
When Lo Duca left after the 2007 season, many fans called for Castro to start, but the job instead went to newcomer Brian Schneider. It was most likely due to his injury-riddled career, which became evident once more when he strained his hamstring late in spring training that year, missing the beginning of the season.
On May 29, 2009, Ramon was traded to the Chicago White Sox for pitcher Lance Broadway after Omir Santos won the backup job with the return of Brian Schneider from the DL.
On July 23, 2009, Castro became the 17th backstop in Major League Baseball history to catch a perfect game, receiving Mark Buehrle's second no-hitter. It was his first time catching for Buehrle, who stated afterwards that he did not shake off Castro at any time during the game.
On January 12, 2010, Castro re-signed with the Chicago White Sox on a 1-year $800,000 contract with a club option for 2011. He played in 37 games in 2010 and 23 games in 2011.
After not playing in 2012 Castro signed a minor league contract with the Los Angeles Dodgers in January 2013. He was released on March 18, 2013.
Castro signed with the Long Island Ducks of the Atlantic League of Professional Baseball.
Castro signed a contract to play with Telemarket Rimini of Italian Baseball League during the 2013 season.
Ramon Castro was raised in Sabana Puerto Rico. Since he was little he loved playing baseball. In high school he was the first Puerto Rican to be drafted by the Houston Astros. Recently he married Brenda Castro. They have two daughters: Mairym (born December 21, 1995), and Nathalie (born July 15, 1999). They are currently living in Miramar, Florida.
Castro was arrested in Allegheny County, Pennsylvania on August 29, 2003, on charges of rape, involuntary deviate sexual intercourse, indecent assault, sexual assault and unlawful restraint, after a 28-year-old woman accused him of assaulting her in his hotel room at the Westin Convention Center Hotel the prior evening. The woman claimed that she had met Castro at a bar the prior evening, that she and another couple went to Castro's room for drinks, and that after the other couple left, Castro held her down on the bed, forcibly removed her clothes, and continued to pursue sexual activity after she told him to stop. She went to the hospital on the morning of the 29th, and was treated for scratches to her neck and chest. Castro was released on $25,000 bond, and on August 30 he issued a statement in which he claimed to be innocent. On November 29, 2004, Castro entered a no-contest plea to one charge of indecent assault, a second-degree misdemeanor, as part of a plea bargain which involved all other charges being dropped. Castro issued an apology to his wife, his family, and the victim, and was sentenced to one year of probation.