In early 2012, Fabián was called up by coach Luis Fernando Tena to participate in the 2012 Olympic Qualifying Tournament. He made his debut 23 March 2012 against Trinidad and Tobago, scoring a hat-trick in a 7–1 win for Mexico. Fabián also went on to score in the semi-final match against Canada, winning the match 3–1. He then score from a long-range shot in the final match against Honduras, winning the match 2–1 and also the tournament, thus qualifying Mexico for the 2012 Summer Olympics. He finished the tournament as top goal scorer alongside his teammate Alan Pulido with five goals in five appearances.
Fabián made the final list for those players participating in the 2012 London Olympics. He made his debut in Mexico's first match of the tournament 2012 as a starter against South Korea, a game that ended 0–0. Fabián showed great skill and workmanship throughout the group stage match and helped Mexico reach the knockoff round. During the semi-final match against Japan, he proved vital by scoring in the 31st minute of the match to tie the game and later to win it 3–1, securing Mexico's progression to the final against Brazil. During the final, he almost netted an over-head bicycle kick goal but it struck the post, though he did provide an assist for Oribe Peralta's second goal of the match. Mexico would win the match 2–1 and thus win the Olympic goal medal. He played the entire tournament as Mexico's second striker behind Peralta, and created a successful offensive deplete with him throughout the tournament. He finished the tournament with one goal from six matches, all as a starter. As a result, he became the top goal scorer for Mexico at the under-23 level, with 15 goals.
Marco made his first senior international cap against Venezuela in a 3–1 win on 25 January 2012.