Latem 2006 David podążył śladami brata, który wyjechał do Bundesligi, do Borussii Dortmund. On sam podpisał kontrakt z inną Borussią – Borussią Mönchengladbach, a kosztował milion euro. W lidze zadebiutował 14 października w wygranym 3:1 meczu z VfL Wolfsburg i w debiucie zdobył gola. Borussia w drugiej części sezonu spisywała się coraz słabiej i została zdegradowana do drugiej ligi. Następny sezon spędził na wypożyczeniu w FC Basel. Od 2008 roku przez cztery lata grał w BSC Young Boys, zaś od lata 2012 roku ponownie był graczem FC Basel. W 2014 zakończył w nim karierę.

Sezon Klub Kraj Rozgrywki Mecze Bramki 2000/01 FC Aarau Swiss Super League 5 1 2001/02 FC Aarau Swiss Super League 2 0 2002/03 FC Aarau Swiss Super League 23 2 2003/04 FC Basel Swiss Super League 21 2 2004/05 FC Basel Swiss Super League 27 1 2005/06 FC Basel Swiss Super League 34 6 2006/07 Borussia Mönchengladbach Bundesliga 18 2 2007/08 FC Basel Swiss Super League 20 3 2008/09 BSC Young Boys Swiss Super League 19 5 2009/10 BSC Young Boys Swiss Super League 30 6 2010/11 BSC Young Boys Swiss Super League 32 4 2011/12 BSC Young Boys Swiss Super League 25 2 2012/13 FC Basel Swiss Super League 26 3 2013/14 FC Basel Swiss Super League 8 0