המהלך הנועז והמהיר של סקיפיו הפתיע לחלוטין את המפקדים של הצבאות הקרתגיים בחצי האי האיברי, שלא הספיקו לבוא לעזרת קרטחנה. לאחר מסע מזורז של למעלה מ-450 ק"מ הגיע צבאו של סקיפיו אל העיר, והטיל עליה מצור. כיבוש נמל קרטחנה לא היה משימה פשוטה, שכן הוא נבנה על חצי אי סלעי, שהיה מוקף כמעט מכל עבריו בים (מכיוון דרום ומזרח) ובלאגונה רחבה (מכיוון צפון ומערב), ומחובר ליבשה באמצעות לשון יבשה צרה ברוחב כ-400 מטר בלבד, ולכן קל היה להגן עליו. חיל המצב הקרתגי כלל כאלף חיילים בסיוע כ-2,000 תושבים מקומיים, שצוידו בנשק ממחסני העיר.
מיד לאחר הגעתו לקרטחנה הורה סקיפיו לצבאו להקים מחנה מבוצר על הבסיס של לשון היבשה, כדי לנתק את העיר מסביבתה, ודאג לאבטח את צידו החיצוני (שפנה לכיוון היבשה) באמצעות גדר כלונסאות וחפיר כפול. למחרת הוא פתח במתקפה על הנמל המבוצר והצליח להשלים את כיבושו תוך כ-12 שעות בלבד. בשלב ראשון, משך סקיפיו את מגיני העיר אל מחוץ לחומות באמצעות ביום נסיגה מדומה, ואז תקף אותם בכוחות עדיפים, גרם להם אבדות כבדות, וניהל מרדף נמרץ כל כך אחרי הקרתגים הנמלטים, עד שהיה קרוב לפרוץ אל תוך העיר. לאחר שההתקפה הרומאית הראשונה על העיר נהדפה, ארגן סקיפיו את כוחותיו מחדש, ופתח במתקפה נוספת, הפעם בחזית רחבה, על קטע החומה שהגן על הגישה אל העיר מכיוון לשון היבשה, כדי לרתק לשם את תשומת הלב של המגינים. במקביל הוא שלח בחשאי כוח של כ-500 רגלים לתקוף את העיר דרך הלאגונה, שמצפון לה. מתיחקור דייגים מקומיים הוא ידע, שבזמן השפל גובה פני המים בלאגונה יורד מאוד, ומאפשר לחיילים לחצות אותה רגלית. לכן הוא המתין עד לשעות הערב (בהם השפל מגיע לשיאו) לפני שפתח במתקפה. הכוח שהעפיל על החומות מכיוון הלאגונה כמעט לא נתקל בהתנגדות, הוא התקדם לאורך החומה וטיהר אותה מהאויב, ולאחר מכן תקף מהעורף את הקרתגים, שהגנו על שער העיר הפונה ליבשה, ואיפשר לכוח הרומי העיקרי להשתלט עליו לפרוץ אל תוך העיר. הכוחות הרומאים זרמו אל תוך העיר והשתלטו עליה במהירות. סקיפיו הורה לכוחותיו לערוך טבח בתושבי העיר, כדי לזרוע פחד בקרבם ולשבור את התנגדותם, אך מיד לאחר שצבאו השלים את ההשתלטות על העיר, והכניע את הכוח הקרתגי שהחזיק במצודה הפנימית (האקרופוליס), פקד להפסיק את הטבח.
סקיפיו השיג מטמון עשיר של ציוד מלחמה, נמל מעולה ובסיס מבצעים. גישתו ההומנית של סקיפיו כלפי אסירים ושבויי מלחמה בהיספניה עזרה להציג את הרומאים ככוח משחרר ולאו דווקא כוח כובש, על אף שבפועל זה מה שהם היו. ליוויוס מספר סיפור על שבייתה של אשה יפה בידי כוחותיו של סקיפיו, אשר הציעו אותה לסקיפיו כשלל מלחמה בתום הקרב. סקיפיו נדהם מיופייה אולם כאשר גילה שהיא מאורסת למנהיג הקלטו-איברי אלוציוס החזירה לארוסה יחד עם הכופר אותו הציעו הוריה כפדיון שבוי.
על אף תיאורו האוהד של ליוויוס את אופיו המוסרי של סקיפיו, אין להתעלם מהאינטרס שהיה לסקיפיו לנהוג באופן זה. סקיפיו ידע שהסנט הרומי שקוע כולו ככולו במערכה באיטליה ושאין לו סיבה לצפות לתגבורת. אי לכך, הבין סקיפיו שעליו לחזק את קשריו עם השבטים המקומיים על-מנת להשיג ציוד ואספקה להמשך הלחימה. הארוס של האישה השבויה, באופן טבעי, נתן את נאמנותו לסקיפיו ורומא לאחר מקרה זה.
סצנה זו נודעה בקרב אומנים שפעלו בתקופת הרנסאנס, שציירו תמונות רבות המפרטות את האיפוק הרב של סקיפיו אל מול יופייה של הבחורה, כמו בציורו הנודע של ניקולא פוסן.
באביב שנת 208 לפנה"ס נלחם סקיפיו בקרב הגדול והמתוכנן הראשון שלו (סט-פיס-באטל). הוא יצא לקראת צבאו של עזרובעל, שהופתע ולא היה מוכן לעימות, ודחק אותו ממקומו בבאיקולה במעלה נהר הגוואדלאקיוויר, שם הקים עזרובעל מחנה והמתין לבואו של צבא קרתגי נוסף. סקיפיו חשש שצבאות שני המצביאים הנוספים מאגו וגיסקו, עלולים לכתר את צבאו, ולכן תכנן להשמיד במהירות את אחד הצבאות ובכך להרוויח לעצמו זמן להתמודדות עם השניים האחרים כל אחד בתורו. עם הגעתו תקף סקיפיו את קו העמדות הקרתגי והכוחות הקרתגים המובסים נסוגו אל המחנה. כעת הקים מחנה משלו מול זה של עזרובעל.
על פי פוליביוס, המתין סקיפיו יומיים, אך מחשש לכיתורו בידי הצבאות הקרתגיים הנוספים החליט לבסוף לעלות על מחנהו של עזרובעל. עזרובעל ראה שלא יוכל לעמוד בפני הצבא הרומי, והחליט לסגת. הוא הוציא לקראת הרומאים את כוחותיו הקלים, ואלה ספגו את המתקפה הרומית. סקיפיו פיצל את עיקר צבאו בינו ובין גאיוס ליליוס, ובמקביל למתקפה החזיתית של כוחותיו הקלים הובילו השניים מתקפה כפולה על אגפי הקרתגים. הכוחות הקרתגים נשברו והובסו, אך לחימתם אפשרה לעזרובעל לחצות את הנהר עם שני שלישים מצבאו, פיליו ועיקר האספקה.
היה זה ניצחון מרשים לרומאי הצעיר אל מול המצביא הקרתגי הוותיק, שהביא למותם של אביו ודודו, אולם סקיפיו לא הצליח למנוע את התקדמותו של עזרובעל עם עיקר צבאו צפונה. היסטוריונים רבים ביקרו את חוסר יכולתו של סקיפיו לרדוף אחר עזרובעל ולעצור אותו, שכן בהמשך חצה עזרובעל את האלפים ופלש לאיטליה, במטרה לתגבר את אחיו חניבעל. החרדה ברומא הייתה עצומה, אך בסופו של דבר לא הצליח עזרובעל לחבור לאחיו והובס בטרם עלה הדבר בידו בקרב מטאורוס, מול צבאם המאוחד של שני הקונסולים של אותה השנה, גאיוס קלאודיוס נרו ומרקוס ליוויוס סלינטור.
תאוריה רווחת המספקת תשובה אפשרית לחוסר יכולתו של סקיפיו לעצור את עזרובעל גורסת כי סקיפיו שם מעייניו אך בהגנה יעילה על ספרד ולא שאף להיגרר למערכה ארוכה אל תוך ההרים שהייתה עלולה לסכן מטרה זו. אחרים גורסים שהחיילים הרומים עסקו רבות בביזת המחנה הקרתגי, ובשל כך היה קשה לאסוף אותם יחד על מנת לצאת למרדף אחרי עזרובעל. ההסבר הסביר ביותר מנקודת מבט אסטרטגית היא חששו של סקיפיו להילכד בין כוחותיו של עזרובעל לבין אחד משני הכוחות האחרים המצויים באזור, אשר לשניהם הייתה עליונות מספרית עליו. מספר ימים לאחר תבוסתו של עזרובעל, מאגו וגיסקו התכנסו יחדיו אל מול הכוחות הרומים, דבר שמעלה את התהייה, מה היה קורה אילו היה סקיפיו רודף אחר עזרובעל.
אחר שהכניע מספר ראשי שבטים מקומיים וחיזק את כוחו באיבריה, נערך סקיפיו בשנת 206 לפנה"ס לקרב גדול נוסף עם צבאותיהם של מאגו ועזרובעל גיסקו, שבינתיים תוגברו מאפריקה וגייסו שכירים איברים רבים. עם הגיעו של סקיפיו יצאו מאגו ומסיניסה לקראתו במתקפת פרשים, במטרה להפתיע את הרומאים בעודם בונים את מחנם, אולם סקיפיו צפה זאת ותקף אותם מן המארב, והפרשים הקרתגים נהדפו. בימים הבאים ערכו הצבאות את כוחותיהם זה מול זה. סקיפיו ערך את צבאו במתכונת הרומית הרגילה, כשהלגיונות במרכז ובעלי הברית האיברים באגפים. הקרתגים נערכו בהתאם, כשכוחותיהם הכבדים מלוב במרכז, ולצידם בעלי הברית האיברים. מספר הפרשים בשני הצבאות היה דומה, אך לרשות הצבא הקרתגי עמדו גם כמה עשרות פילים.
ביום הקרב יצא סקיפיו לקראת הקרתגים עם אור ראשון, כשהפעם ערך את בעלי בריתו במרכז, ואת הלגיונות באגפיהם. הפיקוד הקרתגי מיהר לערוך את הצבא כתמול שלשום, ומשהבחינו בארגונו של החדש של הצבא הרומי היה זה מאוחר מדי להערכות מחודשת. הלגיונות הרומים באגפים ריסקו את הכוחות האיברים שכנגדם, בעוד בעלי בריתם של הרומאים נמנעו ממגע עם המרכז הקרתגי למולם, וכך ריתקו אותו למקומו. המרכז הקרתגי הכבד, שנמנעה ממנו ארוחת הבוקר עם היציאה החפוזה אל הקרב, סבל כעת גם מנסיגתם המבוהלת של הפילים שבאגפים, ולבסוף החל לסגת לעבר המחנה. לכף ציפה המצביא הרומי, והורה על מתקפה מכל העברים, והנסיגה המאורגנת הפכה למנוסת בהלה. הקרתגים איבדו בקרב איליפה כחמישים אלף חיילים, הרוגים ושבויים, וכוחה קרתגו בהיספניה נשבר סופית. הפעם ניהל סקיפיו מרדף מוצלח אחרי עזרובעל (גיסקו) הנסוג, וגם שארית הצבא הקרתגי, כ-6000 חיילים, נכנעה לבסוף. עזרובעל ומאגו הצליחו לברוח ועזבו את היספניה. הראשון שב לאפריקה, ואילו השני ניסה לשווא להשתלט מחדש על קרטחנה מן הים, ולאחר כישלונו נחת בצפון איטליה והמשיך את הלחימה מעמק הפו. למרות מאמציו, גם הוא לא הצליח לחבור אל אחיו חניבעל.
אחרי שהושלם כיבוש היספניה, כשברקע השאיפה לתקוף את קרתגו באפריקה, נסע סקיפיו לצפון אפריקה להיוועד עם השליטים הנומידים סיפקס (Syphax) ומסיניסה. נומידיה הייתה בעלת חשיבות רבה לקרתגו בהספקת כוחות הן כשכירי חרב והן כבעלי ברית. סקיפיו הצליח להשיג את תמיכתם של שני השליטים. מאוחר יותר שינה סיפקס את דעתו, נשא לאישה את האצילה הקרתגית היפהפייה סופוניסבה, ביתו של עזרובעל גיסקו, ונלחם לצד קרוביו הקרתגים נגד מסיניסה וסקיפיו באפריקה.
בשובו להיספניה דיכא סקיפיו התקוממות שפרצה בקרב השבטים האיברים והקלטיברים. אחד מלגיונותיו התמרד מעבר לאברו, וסקיפיו שבה את מפקדיו, הלקה אותם והוציאם להורג. בהמשך שנת 206 השלים את כיבושה של היספניה בהשתלטות על גאדס, ואחרי כן ויתר על פיקודו בספרד ושב לרומא.
המערכה באפריקה.
ב-205 לפני הספירה, נבחר סקיפיו פה אחד לתפקיד קונסול בעודו רק בן 31, אף על פי שהדבר היה מנוגד למקובל לפי מסלול המשרות ברומא. סקיפיו התעתד לצאת לאפריקה, אולם חלק מאנשי הסנאט הרומי, אשר קינאו בהצלחתו, טרפדו זאת והרשו לו ללכת לסיציליה בלבד וללא צבא. אף על פי כן, החל סקיפיו לגייס צבא מתנדבים בעת שהותו בסיציליה. סקיפיו רצה לערוך את המלחמה באפריקה, ושמו המפורסם משך מתנדבים רבים לצבאו מכל רחבי איטליה. רבים ממתנדבים אלו היו השורדים מאסון קאנאי, שהיו להוטים להוכיח מחדש את ערכם כחיילים. סקיפיו הפך את סיציליה למחנה אימונים צבאי.