Flores came to CF Monterrey in 2005. he began playing with Monterrey's B team in the Primera A, but eventually rose to the first team. During the Clausura 2007 season Gerardo Flores made his professional debut for CF Monterrey under Coach Miguel Herrera, on February 17, 2007 in a 2–2 draw against Necaxa, Flores started and played the entire match. After one season with Monterrey Flores was Transferred to Atlas for the Apertura 2007 season.
Atlas
Being transferred to Atlas Flores got to play in the 2008 Copa Libertadores. He was loaned for two years to Jaguares. When he returned from Chiapas, he would play two more seasons with Atlas before signing with Cruz Azul in 2011.
Jaguares
Flores was loaned to Jaguares, where he would stay on loan for 2 years. during his stay Flores and his teammates helped Jaguares reach the Quarter Final of the Clausura 2009 play offs losing versus Pachuca.
Cruz Azul
He was transferred in June 2011 to Cruz Azul. During his time in Cruz Azul he won the Copa MX twice, as well as the CONCACAF Champions League once in 2013 and 2014 respectively. He also made 3 appearances in the 2014 FIFA Club World Cup losing to Real Madrid in the semifinals and losing for third place against Australian team Auckland City. He was also given the chance to play in the 2015 Copa America with Mexico but it was cut short as they failed to advance from the group stages.
Toluca
On December 16, 2015, it was made official that Flores would be joining Deportivo Toluca in a season-long loan deal from Cruz Azul. On January 6, Flores made his debut with Toluca against Tigres de la UANL, he played 75' minutes and the team won with a single goal from Colombian striker Fernando Uribe at minute 90+.
International
Mexico U-17
In 2003 Gerardo Flores was chosen by coach Julio Grondona to be part of the Mexican squad participating in the 2003 FIFA U-17 World Championship in Finland. Flores played every single game in the tournament. Flores scored once in the tournament against China. Mexico reached the quarter final losing 2–0 against Argentina.
When Oribe Peralta was forced to withdraw from the Mexico squad because of injury, Mexico coach José Manuel de la Torre turned to Gerardo Flores to replace him. He started in only the two first games of Mexico in the 2013 FIFA Confederations Cup.