Teixeira began his career with Vasco da Gama, making his debut for the senior team at the age of 18, before moving to Shakhtar Donetsk in November 2009. He spent seven years at the club, scoring 89 goals in 222 appearances, while winning the Ukrainian Premier League five times. In February 2016, he transferred to Chinese Super League side Jiangsu Suning for an Asian record transfer fee of €50 million.
Internationally, Teixeira has been capped at under-17 and under-20 level for Brazi
Teixeira began his career at Vasco da Gama, playing for the youth team from 1999 to 2007. He was promoted to the senior team for the 2008 season.
Teixeira was promoted to the senior squad for the tour of Dubai in January 2008. On 11 May 2008, he made his league debut for the club as a substitute in a 1–0 defeat to Internacional at the age of 18. His first goal for the club came on 28 June 2008 when he scored a brace in a 4–2 victory over Ipatinga. On 22 August, he netted the only goal in a 1–0 victory over Portuguesa. Vasco were relegated at the end of the season, finishing in 18th position with 40 points, finishing four points off safety.
On 8 February 2009, Teixeira was sent off in a Campeonato Carioca match against Fluminense. He scored his first Série B goal in a 2–1 defeat to Bahia on 25 July 2009. On 13 November 2009, he scored his final goal for the club in a 2–1 victory over América. He made his final appearance for the club on 28 November in a 2–0 defeat to Ipatinga. At the end of the season, Vasco were promoted back to the Série A after winning the league by a seven-point margin over the second-place team. This was Texeira's first, and only, trophy during his time with Vasco.
On 21 December 2009, at the age of 19, he left Vasco da Gama to join Ukrainian side Shakhtar Donetsk, joining for a fee of around €6 million on a five-year deal. In total with Vasco, he made 92 appearances for the club, scoring 14 times, including 51 league appearances with 11 goals.
Teixeira made his debut for the club on 20 March 2010. He started a Ukrainian Premier League match against Zorya Luhansk before being taken off for compatriot Ilsinho after 55 minutes. Shakhtar won the match 2–0. His home debut came on 25 April in a 3–0 victory over Chornomorets Odesa. He was a 65th minute replacement for Ilsinho. His final appearance of the season came on 9 May in a 3–2 win against Tavryia Simferopol. He ended the season with three appearances for the club, all of which came in the league. Shakhtar won the 2009–10 Ukrainian Premier League by a six-point margin over second-placed Dynamo Kyiv, giving Teixeira his first trophy as a Shakhtar player.
On 4 July 2010, Teixeira came on as a 68th-minute replacement for Jádson in Shakhtar's 7–1 Ukrainian Super Cup victory over Tavriya Simferopol. His European debut came in a 1–0 UEFA Champions League group stage victory over Partizan on 15 September. He scored his first goal for the club on 3 October in injury time against Dynamo Kyiv in a 2–0 win.
On 23 October, he came on as a substitute for Vitaliy Vitsenets in the 46th minute and scored the only goal in a 1–0 victory over Vorskla Poltava in the 57th minute, before being sent off after 63 minutes for a second bookable offence. He replaced Willian in the 77th minute of Shakhtar's 2–0 Ukrainian Cup final victory against Dynamo Kyiv. He made 39 appearances for the club, 26 of which came in the league, and scored six goals, with five in the league, as Shakhtar secured the treble (Premier League, Ukrainian Cup and Super Cup).
Teixeira's first match of the season came in the Super Cup. He came on as a 64th minute replacement for Henrikh Mkhitaryan but could not prevent Shakhtar from losing 3–1 to Dynamo Kyiv. This loss prevented Shakhtar from winning the treble for the second year in a row, although they did manage to recapture the Premier League title and the Ukrainian Cup. Teixeira's first goal of the season came on 24 July in a 2–1 league victory over Karpaty Lviv. He scored the first goal in Shakhtar's 2–1 extra time victory over Metalurh Donetsk in the 2012 Ukrainian Cup final. Shakhtar ended the 2011–12 Premier League as champions with 79 points, four ahead of nearest rivals Dynamo Kyiv, marking Teixeira's third league title in three seasons with the club. The cup success was also his second Ukrainian Cup win with the club. He made 37 appearances, scoring 10 goals. Twenty-six of the appearances and seven goals came in the league, while the other three goals came in the Ukrainian Cup. He finished the season as Shakhtar's top scorer in the Ukrainian Cup, two goals behind the overall top goalscorer Maicon of Volyn Lutsk, who scored five.
After losing out to Dynamo Kyiv in the Super Cup the previous year, Shakhtar overcame Metalurh Donetsk 2–0 to regain the trophy. Teixeira started the match but was replaced after 77 minutes for the newly signed Marko Dević. Teixeira then gave Shakhtar the lead in a Champions League group stage match against Italian side Juventus on 2 October, although the match ended in a 1–1 draw. This marked his first ever goal in the competition. He scored the opener in a 2–1 victory against English side Chelsea in the Champions League on 23 October.
On 27 October, Teixeira netted the only goal in a 1–0 victory against Tavriya Simferopol. After the departure of Fernandinho to Manchester City, Teixeira was asked to drop deeper in the pitch and act as a replacement. When asked about the decision, he stated, "Yes, indeed, after the departure of Fernandinho, we discussed this issue. I'm going to play in this position. It is important to adapt and get used to it, to operate up to the mark so that the team can continue winning". In July 2013, Teixeira signed a five-year contract extension with Shakhtar.
During the 2013–14 season, Teixeira was part of a Shakhtar team that won a fifth consecutive Ukrainian Premier League title. In addition to his six league goals, he scored three times during the group stage of the Champions League. He contributed both goals in a 2–0 win over Real Sociedad in San Sebastián, before scoring the second goal of a 4–0 defeat of the same opposition at the Donbass Arena. On 15 May 2014, he played the full 90 minutes of Shakhtar's 2014 Ukrainian Cup final loss to Dynamo Kyiv.
Teixeira ended the 2014–15 season as joint-top scorer in the Ukrainian Premier League with 17 goals. He registered three goals in eight Champions League appearances; the opening goal of a 2–2 draw with Porto and both home and away to BATE Borisov in respective 5–0 and 7–0 wins. On 4 June 2015, Teixeira played in a Ukrainian Cup final defeat to Dynamo Kyiv for the second consecutive year.
At the winter break stage of the 2015–16 Ukrainian Premier League season, Teixeira has scored 22 goals from 15 appearances, scoring at least one goal in all but two of his appearances and registering two goals on nine occasions. On 16 October 2015, he scored twice in a 3–0 win over champions Dynamo Kyiv at the Olimpiyskiy to overtake the capital club at the top of the table. On 25 November, he scored twice in a 3–4 loss to Real Madrid in the group stage of the 2015–16 Champions League.
In January 2016, English Premier League club Liverpool submitted a bid of €32 million (£24.6m) to sign Teixeira, with him expressing a strong desire to move to Merseyside. Shakhtar refused the bid, however, and on 5 February 2016, Teixeira joined Chinese club Jiangsu Suning on a four-year contract for a transfer fee of €50 million. This was the third time in ten days that China's transfer record had been broken, the first being for compatriot Ramires who also joined Jiangsu, from Chelsea.
On 1 March 2016, Teixeira scored on his competitive debut for Jiangsu in a 3–2 win over Jeonbuk Motors in the AFC Champions League. On 5 March 2016, Teixeira scored two goals in a 3–0 win over Shandong Luneng on his Chinese Super League debut.
Teixeira is capped at under-17 and under-20 level for Brazil. He played for Brazil at the 2007 Under-17 World Cup and the 2009 Under-20 World Cup. In the latter tournament, he scored three goals but missed the decisive penalty in the final shoot-out against Ghana. He was voted the second best player in the tournament, behind Ghana's Dominic Adiyiah.
Teixeira was named in the Brazil senior team's provisional squad for Copa América Centenario, but was cut from the final squad.As of match played 5 August 2017
Other – Campeonato Carioca, Ukrainian Super Cup & Chinese FA Super Cup
Vasco da Gama
Campeonato Brasileiro Série B (1): 2009
Ukrainian Premier League (5): 2009–10, 2010–11, 2011–12, 2012–13, 2013–14
Ukrainian Cup (3): 2010–11, 2011–12, 2012–13
Ukrainian Super Cup (5): 2010, 2012, 2013, 2014, 2015
FIFA U-20 World Cup: Runner-up 2009
FIFA U-20 World Cup Silver Ball: 2009
Ukrainian Premier League Top Scorer: 2014–15, 2015-16
Ukrainian Premier League Player of the Year: 2015