input: Sachverhalt: A. A._ (geb. 1955) ist italienischer Staatsbürger. Ab 1974 hielt er sich regelmässig in der Schweiz als Saisonnier auf. Im März 1983 reiste er zum dauerhaften Verbleib in die Schweiz ein. 1985 zog er mit seiner damaligen Ehefrau in den Kanton Zürich, wo ihm die Niederlassungsbewilligung erteilt wurde. Die Ehe wurde 1996 geschieden. Aus der Ehe sind zwei Kinder (geb. 1982 bzw. 1991) hervorgegangen. Am 2. Mai 2012 wurde A._ vom Bundesstrafgericht wegen wiederholter Verbrechen gegen das Betäubungsmittelgesetz, begangen zwischen August 2003 und Juli 2004, zu einer bedingten Freiheitsstrafe von 24 Monaten, unter Ansetzung einer Probezeit von drei Jahren, und zu einer Busse von Fr. 1'000.-- verurteilt. Infolgedessen wurde A._ vom Migrationsamt des Kantons Zürich am 24. Juli 2012 ausländerrechtlich verwarnt, wobei ihm der Widerruf der Niederlassungsbewilligung EU/EFTA angedroht wurde. Am 11. September 2012 verurteilte ihn das Bezirksgericht Zürich zu einer Freiheitsstrafe von 36 Monaten (als Zusatzstrafe zum Urteil des Bundesstrafgerichts vom 2. Mai 2012) wegen schwerwiegender Widerhandlung gegen das Betäubungsmittelgesetz, begangen zwischen Juni und August 2011. Am 2. Oktober 2013 wurde A._ mit einer Probezeit von einem Jahr und einer Bewährungshilfe bedingt aus dem Strafvollzug entlassen. B. Mit Verfügung vom 12. Februar 2014 widerrief das Migrationsamt des Kantons Zürich die Niederlassungsbewilligung von A._ und wies ihn aus der Schweiz weg. Der gegen die Verfügung eingereichte Rekurs bei der Sicherheitsdirektion des Kantons Zürich blieb erfolglos (Entscheid vom 11. August 2014). Die dagegen erhobene Beschwerde wies das Verwaltungsgericht des Kantons Zürich mit Urteil vom 4. März 2015 ebenfalls ab. C. Mit Beschwerde ans Bundesgericht vom 6. Mai 2015 beantragt A._ die Aufhebung des angefochtenen Urteils. Es sei ihm die Niederlassungsbewilligung EU/EFTA zu belassen. Zudem ersucht er um unentgeltliche Rechtspflege und Verbeiständung. Während die Sicherheitsdirektion und das Verwaltungsgericht des Kantons Zürich auf Vernehmlassung verzichten, beantragt das Staatssekretariat für Migration die Abweisung der Beschwerde. Das Migrationsamt liess sich nicht vernehmen. Mit Präsidialverfügung vom 11. Mai 2015 wurde der Beschwerde antragsgemäss aufschiebende Wirkung zuerkannt. 