W sierpniu 1999 podpisał kontrakt jako wolny agent z organizacją New York Mets[1]. Zawodową karierę rozpoczął w 2000 od występów w Kingsport Mets (poziom Rookie), następnie w 2001 grał w Capital City Bombers (Class A)[2]. Na początku 2002 został zaproszony do składu New York Mets na występy w spring training[3], jednak po jego zakończeniu został odesłany do St. Lucie Mets (Class A Advanced), a potem do Binghamton Mets (Double-A)[2]. Jako zawodnik tego klubu w lipcu 2002 wystąpił w drużynie reszty świata w All-Star Futures Game i został wybrany MVP tego meczu[3][4]. Sezon 2003 rozpoczął od występów w Norfolk Tides (Triple-A) i po rozegraniu 42 meczów, 5 czerwca 2003 zastąpił kontuzjowanego Reya Sáncheza w 40-osobowym składzie New York Mets[3].
21 czerwca w meczu z Cincinnati Reds, rozegranym na Shea Stadium, został dziewiątym zawodnikiem w historii klubu, który zaliczył cycle[8]. W lipcu po raz pierwszy otrzymał powołanie do NL All-Star Team[1]. 3 sierpnia podpisał nowy, czteroletni kontrakt 23 250 tysięcy dolarów z opcją przedłużenia na rok wartą 11 milionów[9]. 15 sierpnia w spotkaniu z Philadelphia Phillies zdobył trzy home runy[10], zaś 7 września w meczu z Los Angeles Dodgers zdobył pierwszego inside-the-park home runa w MLB[11].
W listopadzie wystąpił w Major League Baseball Japan All-Star Series, a w meczu numer 5 zdobył zwycięskiego home runa w dziesiątej zmianie[14].
2007–2009
10 lipca 2007 Reyes po raz pierwszy wyszedł w podstawowym składzie NL All-Star Team[1]. Dwa dni później w meczu z Cincinnati Reds ustanowił klubowy rekord zdobywając dziewiątego lead-off home runa w MLB[15], a 22 sierpnia 2007 w spotkaniu z San Diego Padres pobił kolejny, kradnąc 67. bazę w sezonie zasadniczym[16]. Ostatecznie skradł 78, co było najlepszym wynikiem w MLB[1]. 20 lipca 2008 w meczu z Cincinnati Reds pobił klubowy rekord wszech czasów, należący do Mookiego Wilsona, zaliczając 63 triple'a w MLB[17]. W tym samym roku, 10 września, w spotkaniu z Washington Nationals ustanowił kolejny rekord klubowy, należący również do Wilsona, kradnąc 282. bazę w karierze[17]. W 2009 z powodu kontuzji łydki zagrał w zaledwie 36 meczach[1].
2010–2011
25 maja 2010 w meczu przeciwko Philadelphia Phillies zaliczył 1000. uderzenie w MLB[18]. W lipcu 2010 i 2011 otrzymał powołanie do NL All-Star Team, ale nie wystąpił w meczach z powodu kontuzji[19][20].
Pod koniec sezonu 2011 walczył z Ryanem Braunem z Milwaukee Brewers o tytuł najlepszego uderzającego w lidze. 28 września 2011 w ostatnim meczu przeciwko Cincinnati Reds, po zaliczeniu single'a w pierwszej zmianie, poprosił menadżera Terry'ego Collinsa o zmianę[21]. Tego samego dnia w spotkaniu Brewers – Los Angeles Dodgers Braun przy czterech podejściach nie zaliczył odbicia i zakończył sezon ze średnią 0,332. Reyes z kolei zanotował średnią 0,337[22]. Po zakończeniu sezonu Reyes został wolnym agentem[23].
Miami Marlins
7 grudnia 2011 podpisał sześcioletni kontrakt wart 106 milionów dolarów z Miami Marlins[23]. Podczas gry w Marlins ustanowił rekord kariery i jednocześnie wyrównał rekord klubowy, należący do Emilio Bonifacio, zaliczając przynajmniej jedno odbicie w 26 meczach z rzędu[24]. Sezon 2012 zakończył ze średnią 0,287, zdobył 11 home runów, zaliczył 57 RBI i skradł 40 baz[1].
25 czerwca 2016 podpisał niegwarantowany kontakt z New York Mets[32]. Występy w organizacji rozpoczął w Brooklyn Cyclones (Class A-Short Season), a 28 lipca 2016 przeszedł do Binghamton Mets (Double-A)[33]. 5 lipca 2016 został powołany do 40-osobowego składu New York Mets, zastępując kontuzjowanego Davida Wrighta, grającego na trzeciej bazie[34]. 20 maja 2017 w meczu przeciwko Los Angeles Angels of Anaheim zaliczył 2000. odbicie w MLB[35].
W lipcu 2020 ogłosił zakończenie zawodniczej kariery[36].