Born in
Campinas,
São Paulo state, Gustavo started his career at
Guarani. He made his debut in
2001 Campeonato Brasileiro Série A and played four times in
2002 Copa do Brasil. In July 2002 Gustavo moved abroad for the first time in his career, joining
Levski Sofia. In January of the following year he moved to
Dynamo Moscow, but failed to make an appearance for the latter. In July 2003, Gustavo returned to Brazil and signed for
Goiás, but
his only campaign ended with only one match. He subsequently agreed a deal with
Ponte Preta in 2004, appearing regularly. In June 2005, he signed an 18-month contract with
Série B side
CRB. He made his debut on 8 July, starting in a 3–0 loss against
Portuguesa. Gustavo appeared in only nine league matches in
the season, however, and scored a brace in a 3–2 away loss against
Ituano. In November, with his side already out of the competition, he was loaned to
Série C club
Coruripe until December, but did not play. In 2006 Gustavo joined
Série A side
Paraná. On 18 December 2006, after appearing in 34 matches for the club, he signed a two-and-a-half-year contract with
Schalke 04. However, Gustavo refused to play for the German club despite signing the contract, alleging a desire to remain in his homeland for personal reasons. In April 2007, his
registration rights was owned by a company,
Traffic, with a 20% percentage if the player was sold during his spell at
Raposa. On 1 January 2010, Gustavo further extended his link with Desportivo Brasil again, until 1 September 2012. On that date, he joined
Vasco da Gama, also on loan, after only appearing rarely with his former club; however, he only appeared sparingly for his new side, being mostly a backup. On 26 July 2010, Gustavo travelled to Italy and signed a loan contract with
Serie A newcomer
Lecce on the following day, with a buyout clause of about . Gustavo made his Serie A debut on 12 September 2010, starting in a 1–0 home win against
Fiorentina. He finished
the campaign with 24 appearances (19 starts), as his side narrowly avoided relegation. On 2 July 2011, Gustavo returned to Brazil and signed an 18-month contract with
Botafogo, and extended his contract with Desportivo Brasil until December 2012. He only started in nine matches in 2011, and was subsequently released in December. In January 2012 Gustavo was loaned to
Portuguesa. After appearing sparingly during
the year's
Campeonato Paulista, he appeared regularly in
the national league, with
Lusa finishing only one position above the relegation places. Gustavo was released in January 2013, and joined
Chinese Super League side
Qingdao Jonoon in the following month. In April of the following year he moved to second-tier team
Paraná, and after appearing regularly joined fierce rivals
Atlético Paranaense. ==Honours==