Sachverhalt: A. Der kosovarische Staatsangehörige X._ (geb. 1975) reiste am 30. August 2006 in die Schweiz ein und heiratete hier am 25. September 2006 die Schweizer Bürgerin Y._ (geb. 1982). Am 9. November 2006 wurde ihm im Kanton St. Gallen eine Aufenthaltsbewilligung als Ehegatte einer Schweizer Bürgerin erteilt. Am 1. Februar 2007 zog X._ in den Kanton Zürich und nahm Wohnsitz in Dietlikon/ZH. Am 28. Februar 2007 wurde ihm im Kanton Zürich die Aufenthaltsbewilligung erteilt und letztmals bis 24. September 2010 verlängert. Im Juni 2009 gaben die Eheleute X._ und Y._ den Einwohnerdiensten Dietlikon bekannt, ab dem 30. Juni 2009 "freiwillig getrennt" zu leben. B. Nach Gewährung des rechtlichen Gehörs wies das Migrationsamt des Kantons Zürich mit Verfügung vom 1. Februar 2011 ein Gesuch von X._ um Verlängerung seiner Aufenthaltsbewilligung ab und setzte ihm eine Frist zum Verlassen der Schweiz bis zum 30. April 2011. Die dagegen bei der Sicherheitsdirektion und beim Verwaltungsgericht des Kantons Zürich erhobenen Rechtsmittel blieben erfolglos. C. Mit Eingabe vom 23. März 2012 erhebt X._ Beschwerde in öffentlich-rechtlichen Angelegenheiten. Er beantragt, das Urteil des Verwaltungsgerichts vom 21. Februar 2012 sei aufzuheben und seine Aufenthaltsbewilligung zu verlängern. Eventualiter sei die Sache zu neuer Entscheidung an die Vorinstanz zurückzuweisen. Das Verwaltungsgericht des Kantons Zürich verzichtet auf eine Vernehmlassung, während die Sicherheitsdirektion des Kantons Zürich sowie das Bundesamt für Migration die Abweisung der Beschwerde beantragen. Mit Verfügung vom 28. März 2012 hat der Präsident der II. öffentlich-rechtlichen Abteilung des Bundesgerichts der Beschwerde antragsgemäss die aufschiebende Wirkung zuerkannt. 