He made a big impression this at Cruzeiro, who were comfortably top scorers in the Campeonato Brasileiro 2007. Guilherme played as a supporting striker, where he showed excellent vision for the killer pass.
2008 in his second season, he was fifth top scorer with 28 goals.
In February 2009, Dynamo Kyiv signed Guilherme on a five-year deal for a reported €5 million fee with Kléber moving in the opposite direction. Guilherme made his debut for Dynamo on 19 April 2009 as a second-half substitute in a 2–1 loss against Kryvbas Kryvyi Rih. He went on to score a hat-trick in his first game as a starter in the Ukrainian Premier League on 16 May 2009 against Karpaty Lviv at Ukraina Stadium. Dynamo won the game 4–1, with Guilherme also recording an assist.
On 29 August 2009, the day Dynamo Kyiv re-signed Andriy Shevchenko, Guilherme joined CSKA Moscow in a one-year loan deal worth $1 million. CSKA also received a right of first refusal on the player. He scored 2 goals in his first jogo Russian Premier League game against FC Krylia Sovetov Samara. He returned to Dynamo Kyiv when his loan expired in the summer of 2010 and CSKA refused to pay the transfer fee to buy him out from Dynamo.