Bopp played in the Bayern Munich youth system before joining the Academy of English club Nottingham Forest as a 16-year-old on 20 June 2000. He signed for Forest after Academy manager Paul Hart persuaded him, despite there being interest from other European clubs. He progressed through the ranks and signed his first professional contract with Forest on 11 September 2000. Bopp was an important member of the Forest under-19 side, playing alongside Jermaine Jenas, that comfortably won their league in the 2000–01 season. He eventually played 77 games for the Forest first team, but only half of those were in the starting line-up. In his four years at the club he scored eight goals and despite some strong reserve performances, he struggled to ever truly establish himself in the first team. His best spell of form at the club was during the 2002–03 season, this was abruptly ended by a rash challenge from Derby County's Craig Burley from which he suffered a serious knee injury. Bopp never returned to those heady heights and was eventually released at the end of the 2005–06 season. He is probably best known during his time at Forest for his thrilling late equaliser against Gillinghamon the last day of the 2004–05 season which ultimately relegated the opposition, dragging them down with Forest and Rotherham United.
Rotherham United
Following his release from Nottingham Forest, he was taken on trial by Rotherham United for the majority of the South Yorkshire club's pre-season. After an impressive trial spell he signed a short-term contract on 3 August 2006. As a result of his continued excellent performances on the pitch, Bopp was offered a contract extension until the end of the season. He played in 30 games for Rotherham and scored five goals.
Bopp was signed by Crewe Alexandra on 30 May 2007. He initially struggled to fit into the team, and was available for transfer during the January 2008 transfer window. However, he returned to the side for a match against Brighton, and did well enough to retain his place. Once again, speculation about Bopp's future arose as he struggled to maintain his place in the squad, and on 7 May Crewe announced that Bopp's contract had been terminated by mutual consent.
Bopp was included in the Portsmouth squad for the first 2009–10 pre-season friendly away to Havant and Waterlooville. Bopp played the entire second half and scored both of Portsmouth's goals in a 2–2 draw. After an injury crisis, Portsmouth were eager to sign Bopp ahead of a Premier League match against Wigan Athletic on 31 October. However, the Premier League refused to register the player because of Portsmouth's debts and a transfer embargo was placed on the club. Bopp continued, however, to play games for the reserve team.
He signed with German 3. Liga club Carl Zeiss Jena on 7 December 2010. Bopp played his debut for Carl Zeiss Jena in the match on 11 December against Dynamo Dresden. He made 16 appearances for the club before he was released in June 2011.
Bopp returned to England after signing for Conference Premier club York City on a contact until the end of the 2011–12 season on 22 March 2012. His debut came as a 69th-minute substitute for Jon Challinor in a 2–1 victory away at Luton Town on 30 March 2012, before dislocating his shoulder on his full debut in his following appearance, a 1–0 defeat at home to Fleetwood Town on 7 April 2012. This ruled him out for the rest of the season, which York finished with promotion to League Two through the play-offs. Having made two appearances he was released by York on 3 July 2012.
Bopp was capped twice by Germany at under-19 level, making his debut as a 65th minute substitute in a 4–0 victory over Sweden on 4 September 2001. His second and final cap came after starting a 2–2 draw with Turkey on 11 October 2001, in which he was substituted at half-time for Philipp Lahm.