Luis Castillo signed with Florida as an amateur free agent in 1992 and made his first appearance in 1996. He would split his time over the next three seasons between the Marlins and their minor league feeder clubs, the Portland Sea Dogs and the Charlotte Knights. For the Marlins, Castillo posted a .236 average with 26 RBI and 36 stolen bases over 160 games through those three seasons.
In 1999, Castillo made the opening day roster as the Marlins full-time second baseman. Over 128 games, he hit .302 with 50 stolen bases, good for fourth most in the National League.
2000 would see Castillo lead the NL with 62 stolen bases. He hit an NL fifth best .334. He was also starting to build a reputation as a slick fielding second baseman with excellent range.
In 2001 Castillo slumped a bit, hitting .263 over 134 games with only 33 stolen bases. He would rebound in 2002 by again leading the NL in stolen bases, with 48 along with a .305 batting average. He would also receive his first All-Star invitation.
In 2003, Castillo won his first Gold Glove, was again invited to the All-Star game and for the first time finished the season with more walks (63) than strikeouts (60). It was a trend that would continue (aside from 2006, when he had 56 walks and 58 strikeouts) throughout the rest of his Major League career. He hit .314 with a career high six home runs. He hit .211 with three stolen bases and four RBI in the 2003 postseason for the Marlins, helping them to their second World Series Championship.
2004 would see Castillo continue his mastery of second base, winning his second Gold Glove at the position. He hit .291 in 150 games for Florida that season. He would again receive a Golden Glove in 2005, his third straight at second base, while hitting .301 in only 122 games, earning his third overall All-Star invitation.
He won three Gold Gloves at second base and three All-Star invitations. He also twice led the NL in stolen bases. He holds several Marlins records, including 4,347 at bats, 1,128 games, 281 stolen bases, 675 runs, 1,273 hits and 42 triples. He finished his Marlin career with a .293 average and 271 RBI.
Castillo was traded to the Minnesota Twins following the 2005 season for Scott Tyler and Travis Bowyer, and played with them for the next season and a half. A trade brought him to the New York Mets, where he would play through 2010. He was signed to the Philadelphia Phillies in spring training in 2011, but failed to make the club.