Born in Villeneuve-Saint-Georges, France, Tavares began his career at US Créteil, and moved in 2000 to Portuguese club FC Alverca.
After two years, he returned to France and signed a contract with SC Abbeville, for whom he scored 9 goals in 26 games in the 2002–03 season, following which he moved to FC Nantes, where he played in the reserve team.
In 2005, he joined FC Tours, who were promoted a year later to the Ligue 2.

In July 2007, he was on trial at Slavia Prague, and signed a contract with the club after one week in the Czech Republic.
He signed a two-year contract in Prague with the option of one more, before moving to Hamburger SV on 30 January 2009.
He made his debut on 22 February 2009 against Bayer Leverkusen.

On 24 January 2010, Tavares was loaned to 1.
FC Nürnberg until the end of the season.
In August 2010, Tavares was assigned to train with Hamburg's second team and told he has no future in the first team.
On 27 August 2010, Tavares joined Football League Championship club Middlesbrough on loan until July 2011.
However,despite playing under Gordon Strachan, Tony Mowbray did not appear to rate Tavares.
This limited him to just 13 appearances, his last coming in the 90th minute against Sheffield United, 4 months after his penultimate appearance.

In September 2012 he was close to sign with Bulgarian side Chernomorets Burgas.

On 5 October 2012, Tavares signed on a free transfer for Fulham.
He was given the number 25 shirt, previously worn by Bobby Zamora.
On 4 January 2013, Martin Jol confirmed that Tavares was not offered a new contract and had left the club.
He made no appearances for Fulham.

On 25 August 2013, it was announced that Tavares would sign an amateur contract with Dutch side RKC Waalwijk.
After releasing for free from Waalvijk he signed a new deal with Czech first league club FK Mladá Boleslav.
In January 2015 he left Mladá Boleslav and signed with Australian club Sydney FC.

On 18 April 2016, Tavares was released by Sydney FC and shortly after signed with the Central Coast Mariners, where he would reunite with cousin Jacques Faty for the 2016–17 A-League season.
Born in Villeneuve-Saint-Georges, France, Tavares began his career at US Créteil, and moved in 2000 to Portuguese club FC Alverca. After two years, he returned to France and signed a contract with SC Abbeville, for whom he scored 9 goals in 26 games in the 2002–03 season, following which he moved to FC Nantes, where he played in the reserve team. In 2005, he joined FC Tours, who were promoted a year later to the Ligue 2.
In July 2007, he was on trial at Slavia Prague, and signed a contract with the club after one week in the Czech Republic. He signed a two-year contract in Prague with the option of one more, before moving to Hamburger SV on 30 January 2009. He made his debut on 22 February 2009 against Bayer Leverkusen.
On 24 January 2010, Tavares was loaned to 1. FC Nürnberg until the end of the season. In August 2010, Tavares was assigned to train with Hamburg's second team and told he has no future in the first team. On 27 August 2010, Tavares joined Football League Championship club Middlesbrough on loan until July 2011. However,despite playing under Gordon Strachan, Tony Mowbray did not appear to rate Tavares. This limited him to just 13 appearances, his last coming in the 90th minute against Sheffield United, 4 months after his penultimate appearance.
In September 2012 he was close to sign with Bulgarian side Chernomorets Burgas.
On 5 October 2012, Tavares signed on a free transfer for Fulham. He was given the number 25 shirt, previously worn by Bobby Zamora. On 4 January 2013, Martin Jol confirmed that Tavares was not offered a new contract and had left the club. He made no appearances for Fulham.
On 25 August 2013, it was announced that Tavares would sign an amateur contract with Dutch side RKC Waalwijk. After releasing for free from Waalvijk he signed a new deal with Czech first league club FK Mladá Boleslav. In January 2015 he left Mladá Boleslav and signed with Australian club Sydney FC.
On 18 April 2016, Tavares was released by Sydney FC and shortly after signed with the Central Coast Mariners, where he would reunite with cousin Jacques Faty for the 2016–17 A-League season.
Mickaël Tavares