Μετά την απροσδόκητη νίκη του στο Σαραντάπορο, ο ελληνικός στρατός διασφάλισε τον έλεγχο της Δυτικής Μακεδονίας και άρχισε να προελαύνει για την απελευθέρωση της Κεντρικής Μακεδονίας και της Θεσσαλονίκης. Προ του διαγραφομένου μεγάλου κινδύνου, ο τούρκος στρατηγός Χασάν Ταξίν Πασάς αποφάσισε να αντιτάξει την άμυνά του στην ιερή για τους ντόπιους μουσουλμάνους πόλη των Γιαννιτσών, επειδή εκεί είχε ταφεί ο Γαζή Εβρενός, ένας διακεκριμένος οθωμανός στρατηγός του 14ου αιώνα.
Η περιοχή παρείχε σημαντικά στρατιωτικά πλεονεκτήματα. Περικλειόταν βόρεια από το βουνό Πάικο και νότια από τη βαλτώδη λίμνη των Γιαννιτσών (αποξηράνθηκε το 1932), γνωστή από τον Μακεδονικό Αγώνα και από το μυθιστόρημα της Πηνελόπης Δέλτα «Τα μυστικά του Βάλτου».
Στις 18 Οκτωβρίου ο στρατός του Ταξίν Πασά, αποτελούμενος από πέντε μεραρχίες ελλιπούς σύνθεσης (13 τάγματα πεζικού και 8 ίλες ιππικού) και επτά πυροβολαρχίες με 30 πυροβόλα, είχε οχυρωθεί σ’ ένα ύψωμα 130 μέτρων, από το οποίο μπορούσαν να ελέγχουν την πεδιάδα. Το βράδυ της ίδιας ημέρας ο προελαύνων ελληνικός στρατός, αποτελούμενος από πέντε μεραρχίες και μία ταξιαρχία ιππικού, συνολικά γύρω στους 80.000 άνδρες, είχε μέτωπο προς τα βορειοανατολικά.
Το πρωί της 19ης Οκτωβρίου, η 2η και 3η Μεραρχία επιτέθηκαν μετωπικά κατά του εχθρού, ενώ η 4η και η 5η υπερκερωτικά εναντίον του δεξιού πλευρού του τουρκικού στρατού. Η κατά μέτωπον επίθεση παρακωλύθηκε από τα πυρά του εχθρικού πυροβολικού, που εμπόδισαν τη διάβαση της γέφυρας Μπαλίντζα, επί της οδού Βοδενών (Έδεσσας) - Γενιτσών, που αποτελούσε και τη μοναδική διάβαση. Αλλά η επιτυχημένη υπερκέραση του εχθρού από τις δύο άλλες μεραρχίες έκριναν τελικά την έκβαση της μάχης.
Βλέποντας την επικείμενη περικύκλωση του στρατού του, ο Χασίν Ταξίν Πασάς διέταξε υποχώρηση και άφησε στο πεδίο της μάχης τις πυροβολαρχίες του κι ένα μικρό τμήμα πεζικού, για να παρενοχλούν τους επιτιθέμενους και να διευκολύνουν την υποχώρηση του κυρίου όγκου του στρατού του. Άλλα και η οπισθοφυλακή αυτή υποχώρησε προ του εφορμούντος ελληνικού στρατού, το πρωί της 20ης Οκτωβρίου, ολοκληρώνοντας την ήττα του τουρκικού στρατού. Η 1η Μεραρχία ανέλαβε την καταδίωξη του εχθρού, αλλά δεν κατόρθωσε να καταλάβει τις γέφυρες του Αξιού και να τον εγκλωβίσει μακριά από τη Θεσσαλονίκη.
Στις 11 το πρωί της 20ης Οκτωβρίου οι πρώτες ελληνικές μονάδες εισήλθαν στην πόλη των Γιαννιτσών, που είχε μικτό πληθυσμό, μουσουλμανικό και χριστιανικό (ελληνόφωνο και σλαβόφωνο). Αμέσως παρέδωσε στις φλόγες τη μουσουλμανική συνοικία της πόλης, ενώ άφησε άθικτη τη χριστιανική.
Στο τέλος της ημέρας, οι ελληνικές απώλειες είχαν ανέλθει σε 188 νεκρούς και 785 τραυματίες, ενώ οι τουρκικές σε 250 νεκρούς, 1.000 τραυματίες και 3.000 αιχμαλώτους. Στα ελληνικά χέρια περιήλθαν 11 κανόνια του εχθρού και πολεμικές σημαίες. Η μάχη των Γιαννιτσών έγινε κάτω από καταρρακτώδη βροχή και οι Έλληνες στρατιώτες χρειάστηκε πολλές φορές να πραγματοποιήσουν επιθέσεις με τις λόγχες για να καταλάβουν τις εχθρικές οχυρώσεις.
Την επομένη, αρχιστράτηγος Κωνσταντίνος στην ημερήσια διαταγή του σημείωνε μεταξύ άλλων: «Η νίκη των Γιαννιτσών συμπληροί την του Σαρανταπόρου και αποτελεί δια τον Ελληνικόν Στρατόν νέον τίτλον τιμής και δόξης». Ο απεσταλμένος της αθηναϊκής εφημερίδας «Σκριπ» σχολίαζε ότι η «Μάχη των Γενιτσών δύναται να χαρακτηρισθή ως η μεγαλειτέρα, η πεισματωδεστέρα των μέχρι τούδε μαχών», ενώ βασιλιάς Γεώργιος χαρακτήρισε την μάχη «πρωτοφανή εις μεγαλοπρέπειαν, πείσμα και ανδρείαν».