У 1800 році Сан-Мартін взяв участь у черговому конфлікті, що спалахнув між Іспанією та Португалією, згодом воював у Північній Африці, на території сучасного Марокко. На початку 1808 року на Піренеї черговий раз вторглися війська Наполеона, й іспанська королівська родина була змушена рятуватися втечею, кинувши країну напризволяще. Однак іспанці не здалися й розпочали партизанську війну проти окупантів. Сан-Мартін очолив один з таких загонів на півдні півострова. За взяття висот поблизу Архонільї Хосе отримав звання капітана, а після битви при Байлені — підполковника.