Needing a victory to advance from their difficult group, Russia took the lead with a goal by Alexander Samedov in the first half, but the experienced Mexicans equalised through Nestor Araujo before half-time and secured the victory early in the second with a goal by Hirving Lozano after a blunder by Russia goalkeeper Igor Akinfeev.
The hosts wanted a penalty after Yuri Zhirkov fell inside the area in the sixth minute, but he was barely touched and the referee let the play continue. Zhirkov then nearly opened the scoring for Russia, but his low left-foot shot missed just wide.
Russia appealed for another penalty about 10 minutes later when striker Fedor Smolov went down in the box after getting tangled up with Araujo, but no penalty was given despite help from video. Play had continued for about 30 seconds before the game was stopped for the review.
Mexico will next face the winners of Group B in Sochi on Thursday, when Andres Guardado will be suspended because of yellow card accumulation.
Russian players gathered in the middle of the pitch to salute fans after the final whistle and were applauded by the crowd of 41,585 fans at Kazan Arena..