Sachverhalt: A. Der Gemeinderat Bonstetten erteilte der A._ AG am 10. Mai 2016 die Bewilligung für den Neubau eines Mehrfamilienhauses auf dem Grundstück Nr. 1173 in Bonstetten. Am 31. Oktober 2016 bewilligte die Baukommission der Gemeinde Bonstetten eine Projektänderung bezüglich Firsthöhe, Dacheinschnitte und Dachflächenfenster, wobei die Richtung des Dachfirsts unverändert parallel zur kürzeren Fassade blieb. Gegen beide Beschlüsse erhoben B. und C. D._ Rekurs beim Baurekursgericht des Kantons Zürich. Dieses vereinigte die beiden Verfahren mit Entscheid vom 27. Juni 2017 und wies den Rekurs ab, soweit das Verfahren nicht als gegenstandslos geworden abgeschrieben wurde. Diesen Entscheid fochten B. und C. D._ mit Beschwerde beim Verwaltungsgericht des Kantons Zürich an. Mit Urteil vom 5. April 2018 hiess das Verwaltungsgericht die Beschwerde gut und hob die Beschlüsse des Gemeinderats vom 10. Mai 2016 und der Baukommission vom 31. Oktober 2016 sowie den Entscheid des Baurekursgerichts vom 27. Juni 2017 auf. B. Gegen das verwaltungsgerichtliche Urteil gelangt die A._ AG mit Beschwerde in öffentlich-rechtlichen Angelegenheiten vom 14. Mai 2018 an das Bundesgericht. Sie beantragt in erster Linie die Aufhebung des Urteils und die Rückweisung der Sache zur Neubeurteilung an das Verwaltungsgericht. Der Gemeinderat Bonstetten verzichtete auf eine Vernehmlassung, während das Verwaltungsgericht des Kantons Zürich beantragt, die Beschwerde sei abzuweisen, soweit darauf einzutreten sei. Die Beschwerdegegner beantragen im Rahmen ihrer Vernehmlassung die vollumfängliche Abweisung der Beschwerde.