לאחר בחינה של המערך ההודי, הבין אלכסנדר שלא כדאי לו לתקוף את מרכז המערך ההודי, שבחזיתו הוצבו הפילים. הוא ידע שיש לו יתרון מכריע בפרשים והחליט לנצל זאת. את רוב הפרשים שלו מיקם אלכסנדר באגף הימני, מול האגף השמאלי ההודי. שתי ההיפארכיות של קוינוס ודמטריוס מוקמו באגף שמאל המוקדוני. כוחות הרגלים מוקמו במרכז, בפיקודם של סלאוקוס, אנטיגנס, קלייטוס הלבן וטאורון, הם הצטוו לא לתקוף עד אשר יראו שכוחות הפרשים והרגלים של פורוס מצויים בחוסר סדר, ומערכם שובש בעקבות התקפת הפרשים של אלכסנדר. התפקיד שמילאו הכוחות המוקדוניים, שלא נכללו בגל הראשון שצלח את הנהר, במהלך הקרב, לא מופיע באף מקור. אחת האפשרויות היא, שהם לא הספיקו לחצות את ההידספס לפני שהקרב הוכרע, והצטרפו ללחימה רק בשלב המרדף.
תפקיד מפתח בקרב מילאו הקשתים הרכובים מדאקיה. הם ביצעו את השלב הראשון במתקפה על הפרשים ההודים ופתחו את הקרב בירי מטר חיצים על הפרשים באגף השמאלי ההודי, שהוציא את הפרשים ההודים משיווי משקל.
אלכסנדר ניצל את שיבוש המערך של הפרשים באגף ההודי השמאלי, כדי לתקוף אותם בעוצמה עם כוח הפרשים העדיף שלו. ההודים החלו להעביר תגבורות פרשים מאגפם הימני, כדי לסייע לאגף השמאלי המותקף. בשלב זה הופעלה המלכודת שטמן להם אלכסנדר. כוח הפרשים של קוינוס ודמטריוס באגף המוקדוני השמאלי תקף את הפרשים הלחוצים באגף השמאלי של צבאו של פורוס, שרותקו על ידי התקפת הכנף הימנית של הפרשים המוקדוניים, וסייע בהבסתם. קיים ויכוח במחקר ההיסטורי בין פולר לבין בוזוורת' לגבי התנועה שביצעו אותם פרשים. לפי הניתוח של בוזוורת', הם ניצלו את החלשות כוח הפרשים, שהגן על האגף הימני של הצבא ההודי, כדי לאגף משמאל את צבאו של פורוס (כפי שמתואר בתרשים הקרב המופיע בערך) ולתקוף מהעורף את הפרשים באגף השמאלי של הצבא ההודי . לפי ניתוח הקרב המופיע בספרו של פולר, הפרשים של קוינוס ודמטריוס נעו באלכסון בין שני הצבאות ואז תקפו את הפרשים ההודים מהאגף. הפרשים ההודים, שהותקפו משני כיוונים נאלצו לפצל את כוחותיהם על מנת להתגונן. תוך כדי ביצוע תימרון זה, שהגביר את הבלבול בשורותיהם, חידש אלכסנדר את המתקפה של הפרשים שבפיקודו על הפרשים ההודיים, והביס אותם. שרידי כוח הפרשים מצאו מחסה בתוך גוש חיל הרגלים ההודי במרכז צבאו של פורוס, בתקווה שנוכחות פילי המלחמה תגן עליהם מפני המרדף של הפרשים המוקדונים.
נוכח תבוסת כוח הפרשים שלו הכניס פורוס את פילי המלחמה למערכה. פורוס ניסה לתקוף באמצעותם את הפרשים של אלכסנדר כי פילים מטילים מורא בסוסים ובכך יכול היה לנטרל לחלוטין את היתרון המוקדוני בפרשים, אך אלכסנדר חמק מהמלכודת. בשלב זה החל הפלנקס המוקדוני להתקדם לעבר הפילים ותקף את מרכז צבאו של פורוס. הרגלים המוקדונים הקיפו את הפילים מכל העברים, דקרו אותם בכידוניהם הארוכים (סריסה) וירו חיצים על נוהגי הפילים ועל הפילים עצמם. הפילים הסתערו על הפלנקס המוקדוני, בהנחיית רוכביהם, בכל מקום בו הם הצליחו לתמרן. בשלב זה ספג של צבאו של אלכסנדר אבדות כבדות, מכיוון שהסתערות הפילים הצליחה לפרק את מבנה הפלנקס המוקדוני הצפוף. קורטיוס מתאר כיצד הפילים דרסו את החיילים שניקרו בדרכם, וכיצד חיילים אחרים נתפסו על ידי הפילים בחדק והושלכו אחורנית מעל ראשיהם. הפרשים ההודים, מעודדים מהצלחת הפילים נגד הפלנקס המוקדוני, התארגנו מחדש וניסו להחזיר לידם את היוזמה ולתקוף את הפרשים המוקדונים. אך האחרונים, שנהנו מעדיפות כמותית ואיכותית משמעותית, הביסו אותם שוב, והפרשים ההודיים שוב נמלטו לתפוס מחסה בין הפילים.
בשלב הזה של הקרב, התארגנו הפרשים המוקדוניים מחדש כגוש אחד, תחת פיקודו של אלכסנדר, שהוביל אותם לתקוף מהעורף על כוח הרגלים של פורוס. הסתערות הפרשים הכבדים גרמה לטבח המוני בקרב הרגלים ההודיים, וצבאו של פורוס נלכד בין הפלנקס המוקדוני בחזיתו לבין הפרשים המוקדונים בעורפו. הצפיפות הרבה גרמה לכך שלפילים לא היה מקום לתמרן, וכיוון שחלק מצבאו של פורוס ניסה לתפוס מחסה בין הפילים, הם החלו לפגוע גם בחיילים ההודיים. אריאנוס מציין במיוחד את הפרשים ההודים שספגו אבדות כבדות בצפיפות זו.
אחרי הלחימה הקשה נגד הפלנקס המוקדוני החל המומנטום של התקפת הפילים לדעוך. חלק גדול מהפילים היו פצועים או מותשים, רוב נוהגיהם נהרגו או נפצעו, והיתר איבדו שליטה על הפילים. בפקודתו של אלכסנדר התארגן הפלנקס המוקדוני מחדש במבנה קרבי צפוף, וחידש את התקדמותו. הצבא ההודי, שהותקף עתה מכל העברים, וחייליו התקשו להתגונן ביעילות עקב הצפיפות הרבה, התפורר והובס לחלוטין. שרידי צבאו של פורוס נמלטו על נפשם, תוך שהם מנצלים את הפערים בין יחידות הפרשים המוקדוניות כדי להחלץ מטבעת הכיתור המוקדונית.
תבוסת הגוף העיקרי של הצבא ההודי, גרמה גם לכוח שהשאיר פורוס מאחור מול כוחו של קרטרוס, לפתוח אף הוא במנוסה. עובדה זו איפשרה לקרטרוס לחצות באין מפריע את ההידספס עם חייליו הרעננים, ולפתוח במרדף אחר שרידי צבאו של פורוס, מרדף במהלכו ספג הצבא ההודי אבדות כבדות, שלא נפלו מאבדותיו במהלך הקרב עצמו.
קרב הידספס ראוי להיחשב כאחד הניצחונות הגדולים והמבריקים בקריירה של אלכסנדר, במיוחד נוכח העובדה שהניצחון בקרב הושג כנגד אויב, שנהנה מעדיפות כמותית משמעותית על הצבא המוקדוני והשתמש באמצעים מיוחדים שלא עמדו לרשות המוקדונים (פילי קרב ומרכבות) .
כניעת פורוס.
למרות התפרקות המערך ההודי ומנוסת חייליו נשאר פורוס להילחם על גבי הפיל שלו. פלוטרכוס מתאר אותו כלוחם עצום שגובהו מעל שני מטרים ושגם הפיל שעליו רכב פורוס היה הפיל הגדול ביותר מבין הפילים בצבא ההודי. פורוס ניסה למנוע מחייליו לברוח והמשיך ליידות כידונים בחיילים המוקדונים שסביבו. הוא נפצע תשע פעמים ורק כאשר איבד דם רב ונחלש מכדי להרים את ידיו ולהחזיק בנשק, הפסיק להילחם. לפי דיודורוס אלכסנדר הורה לקשתים שלו לרכז את כוח האש שלהם בפורוס וכך הביאו לפציעותיו המרובות ולניטרולו.
התיאור של קורטיוס הוא הדרמטי מכולם. הוא מספר שהפיל של פורוס, שלא נפצע בקרב, המשיך להסתער קדימה ורק כאשר רוכב הפיל שם לב שהמלך התעלף בשל אובדן דם רב הוא הפנה את הפיל לברוח משדה הקרב. כאשר אחיו של המלך טאכסילס נשלח אל פורוס לשכנע אותו להיכנע, ענה לו פורוס "אני מזהה את האח של טאכסילס, בוגד בממלכתו ובארצו!" והשליך עליו את הכידון האחרון שנותר לו והרגו. פורוס המשיך בנסיגתו עד אשר הפיל שלו גם הותש מרוב פציעות. בשלב הזה פורוס ארגן את חיילי הרגלים ההודים הנסוגים להתנגדות לצבא המוקדוני, אך המוקדונים הצליחו לכתר את ההודים והחלו טובחים בהם. פורוס שוב איבד את ההכרה והחל להחליק מהפיל שלו, הרוכב של הפיל חשב שפורוס יורד ממנו בצורה רגילה ולכן הורה לפיל לכרוע ברך. שאר פילי המלחמה שהיו מאומנים נהגו כמו הפיל של פורוס וכרעו ברך גם כן, דבר שהוביל לכניעה של הכוח ההודי. אלכסנדר שחשב שפורוס מת הורה לחייליו להסיר מפורוס את שיריונו, אך משהתקרבו המוקדונים לפורוס החל הפיל שלו לגונן עליו. הפיל תקף את החיילים המוקדונים וניסה להרים את פורוס ולהניחו על גבו. החיילים המוקדונים תקפו את הפיל עם הסריסות שלהן, הרגו אותו והניחו את פורוס בכרכרה. רק אז שם לב אלכסנדר שפורוס עדיין חי. אלכסנדר פנה לפורוס "איזה רעיון שטותי הדריך אותך, אתה שידעת על גודל הישגיי, לנסות את מזלך נגדי כשטאכסילס כבר שימש דוגמה לסובלנות שאני מפגין כלפי אלה שנכנעים, דוגמה כה קרובה אליך?". פורוס השיב לו " מאחר ששאלת, אענה לשאלתך בכנות. לא חשבתי שיש מישהו חזק ממני. אמנם ידעתי את כוחי אבל עדיין לא העמדתי את כוחך במבחן וכעת תוצאות הקרב מוכיחות שאתה חזק ממני. אבל להיות שני לך מסב לי שביעות רצון לא קטנה". אריאנוס מוסיף על דו השיח בין שני המלכים: אלכסנדר שאל את פורוס המובס כיצד הוא רוצה שינהגו בו, ופורוס ענה "נהג בי אלכסנדר כמו שנוהגים במלך". קרוב לוודאי שהדיאלוג המתואר כאן לא קרה בדיוק באותה צורה, אך סביר להניח שדו-שיח כלשהו כן התנהל בין שני המלכים ושכן שררה הערכה הדדית ביניהם לאור התנהגותו של אלכסנדר לפורוס אחרי הקרב.
יוסטינוס לעומת זאת מספר שפורוס היה כה מוכה צער מהפסדו, עד כדי כך שכאשר נלקח בשבי והותר לו לחיות, הוא סירב לאכול או לתת לשוביו לחבוש את פצעיו. רק אחרי מאמצים רבים הצליחו המוקדונים לשכנע אותו להמשיך לחיות.
לפי ה"אלכסנדר רומאנס" נהלו אלכסדר ופורוס דו-קרב. המלך ההודי נהנה מיתרון פיזי מובהק, אך העימות הסתיים בניצחונו של המלך המקדוני באמצעות תחבולה. סיפור זה, שניתן לראות קווים מקבילים בינו לבין סיפור דוד וגולית, מבוסס על עובדה היסטורית (הפרשי הגובה בין שני המלכים), אך נעדר אמינות היסטורית מכל בחינה אחרת.
אבדות.
אין הסכמה בין המקורות העתיקים לגבי אבדות שני הצבאות. לפי אריאנוס אבדות הצבא ההודי היו: 3,000 פרשים, 20,000 חיילי רגלים, כל המרכבות נהרסו וכל הפילים נתפסו או הומתו. מבין המתים ההודים צריך לציין את שני בניו של פורוס, המושל של פורוס, כל נהגי המרכבות והפילים וכל המפקדים הבכירים של הצבא ההודי. אבדות הצבא המוקדוני היו: 80 חיילי רגלים, 10 קשתים רכובים ו-220 פרשים, שביניהם 20 מרעי המלך.
לפי דיודורוס אבדות הצבא ההודי היו: 12,000 הרוגים, 9,000 שבויים ו-80 פילים נתפסו. דיודורוס גם מציין ששני בניו של פורוס וכל מפקדי הצבא ההודי היו בין המתים. אבדות הצבא המוקדוני היו: 700 רגלים ו-280 פרשים הרוגים.
המספרים של דיודורוס נראים הגיוניים יותר, משום שכוחות הרגלים המוקדונים היו אלו שספגו את מלוא העוצמה של התקפת הפילים של פורוס.
ניתוח הקרב ותוצאותיו.