Sachverhalt: A. A.a. A._ (geb. 1981) stammt aus Guinea. Im Juni 2001 reiste er in die Schweiz ein und stellte erfolglos ein Asylgesuch. Mangels gültiger Reisepapiere konnte eine Wegweisung nicht vollzogen werden. Am 16. Juni 2006 heiratete A._ eine Schweizer Bürgerin (geb. 1983), woraufhin ihm eine Aufenthaltsbewilligung im Kanton Aargau erteilt wurde. Im April 2007 verlegten die Eheleute ihren Wohnsitz in den Kanton Zürich. Seit dem 1. Juni 2011 ist A._ im Besitz der Niederlassungsbewilligung. Die Ehegatten haben drei gemeinsame Kinder (geb. 2010, 2011 und 2013), die wie ihre Mutter das Schweizer Bürgerrecht besitzen. A.b. A._ wurde mit Strafbefehl des Bezirksamts Baden vom 22. Februar 2007 wegen Führens eines Motorfahrzeugs ohne Führerausweis und Fälschung von Ausweisen, begangen im April 2006, zu einer bedingten Geldstrafe von zehn Tagessätzen zu Fr. 30.-- bei einer Probezeit von zwei Jahren sowie einer Busse in Höhe von Fr. 600.-- verurteilt. Mit Urteil vom 7. Juli 2014 sprach das Bezirksgericht Zürich A._ der Widerhandlung gegen das Betäubungsmittelgesetz und der mehrfachen Geldwäscherei, begangen zwischen 2008 und 2013, schuldig und verurteilte ihn zu einer teilbedingten Freiheitsstrafe von 36 Monaten sowie zur Zahlung von Fr. 20'000.-- als Ersatz für nicht mehr vorhandenen, widerrechtlich erlangten Vermögensvorteil. B. Am 29. Mai 2015 verfügte das Migrationsamt des Kantons Zürich den Widerruf der Niederlassungsbewilligung von A._ und wies ihn aus der Schweiz weg. Ein dagegen erhobener Rekurs bei der Sicherheitsdirektion blieb erfolglos (Entscheid vom 22. Oktober 2015). Mit Urteil vom 6. Januar 2016 wies das Verwaltungsgericht des Kantons Zürich die dagegen erhobene Beschwerde ebenfalls ab. C. Mit Beschwerde in öffentlich-rechtlichen Angelegenheiten vom 10. Februar 2016 beantragt A._ die Aufhebung des vorinstanzlichen Urteils. Das Migrationsamt des Kantons Zürich sei anzuweisen, die Niederlassungsbewilligung nicht zu widerrufen. Das Verwaltungsgericht des Kantons Zürich verzichtet auf Vernehmlassung. Das Staatssekretariat für Migration beantragt die Abweisung der Beschwerde. Das Migrationsamt sowie die Sicherheitsdirektion des Kantons Zürich liessen sich nicht vernehmen. Mit Präsidialverfügung vom 11. Februar 2016 wurde der Beschwerde antragsgemäss aufschiebende Wirkung zuerkannt.