Sachverhalt: A. Der kubanische Staatsangehörige X._, geb. 1968, reiste Ende 1998 in die Schweiz ein und heiratete im März 1999 die hier niedergelassene chilenische Staatsangehörige Y._, worauf ihm zunächst die Aufenthalts- und im März 2004 die Niederlassungsbewilligung erteilt wurde. Im November 2000 ging aus der Ehe der Sohn A._ hervor. Im November 2004 erhielten Y._ und A._ das Schweizer Bürgerrecht. Mit Strafbefehl der Bezirksanwaltschaft Zürich vom 20. Oktober 2004 wurde X._ wegen Fahrens in angetrunkenem Zustand sowie Verletzung von Verkehrsregeln zu einer bedingten Gefängnisstrafe von zwei Monaten und einer Busse von Fr. 300.-- verurteilt, unter Ansetzung einer Probezeit von drei Jahren. Aufgrund dieser Verurteilung wurde X._ am 17. November 2004 fremdenpolizeilich verwarnt. Mit Urteil vom 5. März 2008 sprach das Bezirksgericht Zürich X._ der Widerhandlung gegen das Betäubungsmittelgesetz schuldig und verurteilte ihn (unter Einbezug der am 20. Oktober 2004 ausgefällten bedingten Strafe) zu einer Gesamtstrafe von drei Jahren, wobei der Vollzug im Umfang von 18 Monaten aufgeschoben wurde (bei einer Probezeit von drei Jahren). B. Mit Verfügung vom 21. Juli 2008 widerrief das Migrationsamt des Kantons Zürich X._ die Niederlassungsbewilligung und ordnete an, er habe das schweizerische Staatsgebiet unverzüglich nach Entlassung aus dem Strafvollzug zu verlassen. Dagegen rekurrierte er erfolglos an den Regierungsrat des Kantons Zürich (Beschluss vom 12. November 2008). Mit Entscheid vom 20. Mai 2009 wies das Verwaltungsgericht des Kantons Zürich, 2. Kammer, eine von X._ gegen den Rekursentscheid eingereichte Beschwerde ab, soweit es darauf eintrat. C. Mit Eingabe vom 25. August 2009 erhebt X._ beim Bundesgericht Beschwerde in öffentlich-rechtlichen Angelegenheiten mit den Anträgen, den Entscheid des Verwaltungsgerichts aufzuheben und das Migrationsamt anzuweisen, die Niederlassungsbewilligung des Beschwerdeführers "zu verlängern". Im Weiteren wird um unentgeltliche Rechtspflege und Verbeiständung für das Verfahren vor Bundesgericht ersucht. Die Staatskanzlei (im Auftrag des Regierungsrates) des Kantons Zürich und das Bundesamt für Migration schliessen auf Abweisung der Beschwerde, das Verwaltungsgericht des Kantons Zürich (2. Abteilung) auf Abweisung, soweit einzutreten sei. 