Faits : A. Par arrêté du 26 mai 2014, le Conseil d'Etat de la République et canton de Neuchâtel a sanctionné la modification partielle du plan d'aménagement local (PAL) du secteur "Marais aux Chevaux" adoptée par le Conseil général de la commune de Cornaux le 12 novembre 2013. Tout ce secteur, qui regroupe dix biens-fonds dont la parcelle n° 3761 sise en limite de la commune de Cressier, a été affecté à la zone artisanale et commerciale - à l'exception de la parcelle n° 2845 classée en zone de protection des eaux - et soumis à plan spécial et étude d'impact sur l'environnement. Le 21 juin 2017, le Conseil général de la commune de Cornaux a adopté le plan spécial secteur "Marais aux Chevaux" qui délimite trois zones: une zone d'activités industrielles et artisanales (ZAIA), une zone d'activités commerciales et une zone de protection des eaux. A._ SA, propriétaire de la parcelle n° 5574 de la commune de Cressier située à proximité du périmètre du plan spécial précité, y a formé opposition. A._ SA exploite plusieurs captages d'eau sur sa parcelle, en vertu d'une concession de l'Etat de Neuchâtel en sa faveur. B. Par décision du 4 juin 2018, le Conseil communal de Cornaux a levé l'opposition. Cette décision a été confirmée par prononcé du Conseil d'Etat du 30 janvier 2019, puis par arrêt de la Cour de droit public du Tribunal cantonal neuchâtelois du 6 août 2019. C. Agissant par la voie du recours en matière de droit public, A._ SA demande au Tribunal fédéral d'annuler l'arrêt cantonal ainsi que les décisions du Conseil d'Etat et du Conseil communal, et de statuer au fond en rejetant l'entrée en vigueur du plan spécial et en l'annulant. La cour cantonale ainsi que le Conseil d'Etat se réfèrent aux considérants de l'arrêt attaqué et concluent au rejet du recours. La Commune se détermine et conclut également au rejet du recours. Consulté, l'Office fédéral de l'environnement (OFEV) dépose des observations. La recourante et la commune se déterminent dans de nouveaux échanges d'écritures et persistent dans leurs conclusions respectives.