Jako junior wielokrotnie zdobywał medale na mistrzostwach Kuby juniorów. Pierwszy medal w kategorii seniorów zdobył w 1999 r., zajmując w mistrzostwach swojego kraju III miejsce. W tym samym roku zajął II m. w turnieju w Santa Clara. Rok później zdobył srebrny medal w mistrzostwach Kuby oraz zwyciężył w turnieju strefowym rozegranym w mieście Valencia. W 2001 r. zwyciężył w memoriale Carlosa Torre Repetto w Meridzie, natomiast w Cali zdobył brązowy medal mistrzostw Ameryki. Rok 2002 przyniósł mu pierwszy tytuł mistrza kraju oraz zwycięstwo (wraz z Lázaro Bruzónem) w Esbjergu (turniej "The North Sea Cup"). Wystąpił również w Moskwie na mistrzostwach świata FIDE rozgrywanych systemem pucharowym, ale odpadł w II rundzie, przegrywając z Borysem Gelfandem. W 2003 r. ponownie triumfował w mistrzostwach kraju oraz zwyciężył w turnieju strefowym w Guayaquil i awansował do mistrzostw świata w roku 2004 w Trypolisie, gdzie odniósł życiowy sukces, awansując do najlepszej ósemki turnieju (w ćwierćfinale przegrał z Tejmurem Radżabowem). W 2004 r. zajął również II m. w turnieju "Corus"–B w Wijk aan Zee oraz zwyciężył w memoriale Jose Raula Capablanki w Hawanie. W 2005 r. w mistrzostwach kraju zdobył srebrny medal, zaś rok później - złoty. Również w 2006 r. odniósł duży sukces, zwyciężając (przed Wasilijem Iwanczukiem) w silnie obsadzonym turnieju w Barcelonie. W 2007 r. zdobył w Santa Clarze tytuł wicemistrza Kuby oraz triumfował w Santo Domingo w turnieju strefowym (eliminacji mistrzostw świata). W 2008 r. po raz drugi w swojej karierze zwyciężył w memoriale Jose Raula Capablanki, podzielił również I m. (wspólnie z Jewgienijem Aleksiejewem) w turnieju głównym festiwalu w Biel oraz zdobył (w Ałmaty) tytuł mistrza świata w szachach błyskawicznych. W 2013 r. zwyciężył w turnieju "Thessaloniki Grand Prix" w Salonikach.