Sachverhalt: A. X._ (geb. 1967) ist serbischer Staatsangehöriger. Er reiste im April 1994 unter falschem Namen in die Schweiz ein. Während seines Aufenthaltes sprach das Bezirksamt Baden X._ mit Strafbefehl vom 10. Mai 1994 der Widerhandlung gegen fremdenpolizeiliche Vorschriften schuldig und bestrafte ihn zu sieben Tagen Gefängnis bedingt und einer Busse von Fr. 200.--. Die Bezirksanwaltschaft Zürich verurteilte X._ am 4. Dezember 1995 wegen untauglichen Versuchs der Hehlerei zu 30 Tagen Gefängnis bedingt. Die Fremdenpolizei (heute: Migrationsamt) des Kantons Zürich forderte X._ daraufhin erfolglos auf, die Schweiz zu verlassen. Am 6. September 1996 verfügte die Fremdenpolizei seine sofortige Wegweisung und liess ihn in Ausschaffungshaft versetzen. Am 16. September 1996 stellte X._ (weiterhin unter einem anderen Namen) ein Asylgesuch, welches das Bundesamt für Flüchtlinge (heute: Bundesamt für Migration) im Januar 1997 wegen Unglaubhaftigkeit der Vorbringen abwies. Am 6. Mai 1997 wurde X._ aus der Ausschaffungshaft entlassen und erneut aufgefordert, die Schweiz zu verlassen, was er in der Folge offenbar tat. Am 12. September 1997 reiste X._ erneut in die Schweiz ein und heiratete am 19. November 1997 die Schweizer Bürgerin B._ (geborene C._), worauf ihm eine Aufenthaltsbewilligung zum Verbleib bei seiner Ehefrau erteilt wurde. Die Ehefrau brachte die Kinder BX._ und BXX._ (geb. XXXX und XXXX) aus einer früheren Beziehung mit in die Ehe ein. Beide Kinder sind ebenfalls Schweizer Bürger. B. Mit Strafbefehl vom 28. August 2001 verurteilte die Bezirksanwaltschaft Winterthur X._ wegen Entwendung eines Motorfahrzeugs zum Gebrauch, Fahrens ohne Führerausweis sowie Widerhandlung gegen die Nationalstrassenabgabeverordnung zu zehn Tagen Gefängnis bedingt und Fr. 200.-- Busse unter Ansetzung einer Probezeit von 2 Jahren. Hierauf verwarnte ihn das Migrationsamt des Kantons Zürich mit Verfügung vom 28. September 2001. Am 1. April 2003 wurde X._ die Niederlassungsbewilligung erteilt. Mit Strafbefehl vom 10. April 2008 sprach die Staatsanwaltschaft Winterthur/Unterland X._ der Entwendung eines Motorfahrzeugs zum Gebrauch, des Fahrens ohne Führerausweis und des Missachtens von Auflagen im Führer-/Lernfahrausweis schuldig und bestrafte ihn mit einer unbedingten Geldstrafe von 40 Tagessätzen. Mit Urteil vom 26. August 2009 sprach ihn das Bezirksgericht Bülach des mehrfachen Verbrechens gegen das Betäubungsmittelgesetz, des mehrfachen Vergehens gegen das Waffengesetz sowie der Übertretung gegen das Waffengesetz für schuldig und bestrafte ihn mit einer Freiheitsstrafe von dreieinhalb Jahren sowie mit einer Busse von Fr. 2'000.--. Auf Berufung hin bestätigte das Obergericht mit Urteil vom 13. April 2010 die mehrfachen Widerhandlungen gegen das Waffengesetz; gleichzeitig erkannte es X._ des mehrfachen Verbrechens gegen das Betäubungsmittelgesetz für schuldig und sprach eine im Umfang von 16 Monaten zu vollziehende Freiheitsstrafe von 3 Jahren sowie eine Busse von Fr. 800.-- aus. Der Vollzug der restlichen Freiheitsstrafe von 20 Monaten wurde unter einer Ansetzung einer Probezeit von drei Jahren aufgeschoben. Mit Verfügung vom 19. November 2010 widerrief das Migrationsamt die Niederlassungsbewilligung von X._ und wies ihn an, die Schweiz zu verlassen. C. Den dagegen erhobenen Rekurs wies die Sicherheitsdirektion des Kantons Zürich am 28. März 2012 ab. Eine hiergegen gerichtete Beschwerde an das Verwaltungsgericht Zürich blieb ohne Erfolg (Urteil vom 24. August 2012). D. Mit Eingabe vom 28. September 2011 beantragt X._ dem Bundesgericht, der Entscheid vom 24. August 2012 sei aufzuheben; ihm sei die Niederlassungsbewilligung zu belassen und der weitere Aufenthalt in der Schweiz zu gestatten. Eventuell sei die Streitsache zur weiteren Sachverhaltsabklärung, insbesondere zur Befragung des Beschwerdeführers und seiner Ehefrau, an die Vorinstanz zurückzuweisen. Das Verwaltungsgericht des Kantons Zürich hat ebenso wie das Migrationsamt des Kantons Zürich auf eine Vernehmlassung verzichtet. Das Bundesamt für Migration beantragt, die Beschwerde abzuweisen. Mit Verfügung vom 4. Oktober 2012 hat der Präsident der II. öffentlich-rechtlichen Abteilung der Beschwerde aufschiebende Wirkung zuerkannt.