Sachverhalt: A. A._ war in den Steuerperioden 2003-2005 im Kanton Zürich als Rechtsanwalt tätig. Wegen Unregelmässigkeiten in den von ihm eingereichten Steuererklärungen 2003 und 2005 sowie wegen Nichteinreichens der Steuererklärung 2004 nahm das kantonale Steueramt eine Buchprüfung für die Geschäftsjahre 2003-2005 vor und schätzte A._ am 24. Februar 2012 (Staats- und Gemeindesteuern) bzw. 23. Februar 2012 (direkte Bundessteuer) abweichend von der Steuererklärung und teilweise nach Ermessen ein. In teilweiser Gutheissung der erhobenen Rechtsmittel wies das Steuerrekursgericht die Sache mit Entscheid vom 22. November 2012 im Sinne der Erwägungen zu weiteren Untersuchungen an das Steueramt zurück. Auf die dagegen von A._ erhobenen Beschwerden traten das Verwaltungsgericht des Kantons Zürich (Urteil vom 27. März 2013) und das Bundesgericht (Urteil 2C_443/2013, 2C_444/2013 vom 14. Mai 2013) nicht ein. B. Nach ergänzender Untersuchung schätzte das kantonale Steueramt den Pflichtigen mit Einspracheentscheid vom 12. Dezember 2013 teilweise nach pflichtgemässem Ermessen für die Staats- und Gemeindesteuern wie folgt ein: Steuerperiode Steuerbares Einkommen Satzbestimmendes Einkommen Steuerbares Vermögen Satzbestimmendes Vermögen 2003 Fr. 128'200.-- Fr. 132'800.-- Fr. 287'000.-- Fr. 554'000.-- 2004 Fr. 128'000.-- Fr. 135'000.-- Fr. 230'000.-- Fr. 504'000.-- 2005 Fr. 499'100.-- Fr. 508'900.-- Fr. 150'000.-- Fr. 456'000.-- C. Für die direkte Bundessteuer veranlagte es den Pflichtigen gleichentags mit einem steuerbaren Einkommen von Fr. 133'600.-- (Steuerperiode 2003), von Fr. 135'000.-- (Steuerperiode 2004) sowie Fr. 509'700.-- (Steuerperiode 2005). D. Die dagegen erhobenen kantonalen Rechtsmittel wurden abgewiesen (Entscheid des Steuerrekursgerichts vom 31. März 2014; Urteil des Verwaltungsgerichts vom 20. August 2014). E. A._ erhebt mit Eingabe vom 22. Oktober 2014 Beschwerde in öffentlich-rechtlichen Angelegenheiten mit dem Antrag, das Urteil des Verwaltungsgerichts sei aufzuheben. Zudem beantragt er aufschiebende Wirkung. Mit Verfügung des Präsidenten der II. öffentlich-rechtlichen Abteilung des Bundesgerichts vom 27. Oktober 2014 wurde das Gesuch um aufschiebende Wirkung abgewiesen. Das Verwaltungsgericht, das kantonale Steueramt und (in Bezug auf die direkte Bundessteuer) die Eidgenössische Steuerverwaltung beantragen Abweisung der Beschwerde.