Sachverhalt: A. Die 1964 geborene A._, Mutter zweier Söhne (geb. 1982 und 1987), war zuletzt in einem Teilpensum (laut Angaben der Arbeitgeberin 11,25 Stunden pro Woche) als Unterhaltsreinigerin erwerbstätig, bis sie im August 2010 das Arbeitsverhältnis "aus Gesundheitsgründen" kündigte. Im Februar 2016 meldete sie sich bei der Invalidenversicherung zum Leistungsbezug an. Nach Abklärungen - insbesondere Einholung des polydisziplinären (Innere Medizin, Rheumatologie, Psychiatrie) Gutachtens des Swiss Medical Assessement- and Business-Centers (SMAB) vom 27. Oktober 2016 - und Durchführung des Vorbescheidverfahrens verneinte die IV-Stelle des Kantons Zürich mit Verfügung vom 2. März 2017 einen Rentenanspruch. B. Die dagegen erhobene Beschwerde wies das Sozialversicherungsgericht des Kantons Zürich mit Entscheid vom 25. Juni 2019 ab. C. A._ lässt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten beantragen, unter Aufhebung des Entscheids vom 25. Juni 2019 sei ihr eine ganze Invalidenrente zuzusprechen. Die IV-Stelle schliesst auf Abweisung der Beschwerde. Das Bundesamt für Sozialversicherungen verzichtet auf eine Stellungnahme.