十一月,元軍經過修整後,在九州當地征收足了行軍用的糧草,又從高麗來的船隊補充了彈藥,一切準備完畢,於二十日乘船出發,進攻四國島。
為了防備元軍來襲,在幕府的嚴令下,日本武士們在沿海一帶修築了大量稱為“元寇防壘”的石壘,並守衛於壘後。元軍艦隊到達四國的宇和海岸後,發現了這一情況,先集中戰船上的火炮向石壘轟擊,由於元軍炮火凶猛,石壘多被擊破,守衛石壘的日本武士死傷慘重,看到元軍登陸,日本武士部隊向元軍發起了衝鋒,但很快便倒在元軍射出的密集箭雨之下。經過兩的戰鬥,日本人苦心修築的“元寇防壘”被元軍突破,守軍大都被殲滅,僅有少數人僥幸逃脫。
在進攻宇和的同時,另一支元軍艦隊駛入土佐灣,元軍登陸後攻克高知城,然後與從宇和前來的元軍會師,掃蕩日軍,七日後,元軍成功占領四國島全境。
占領四國之後,忻都馬不停蹄的繼續發動進攻,他決心不給日本人以喘息之機,率元軍艦隊直撲大阪灣,攻占大阪後直取京都。
北條時宗判斷出了元軍的進攻方向,緊急召集各地的禦家人前往大阪助守,各地武士得令後日夜兼程趕往大阪,人數約有五萬人左右,可謂空前絕後,但在這些武士到達大阪時,大阪已然陷落。原來在得知蒙古人會對不投降的城市進行屠殺後,大阪的商人們不願於這座繁華的商業都市就此毀滅,由幾大家族牽頭,秘密和元軍接觸,表達了投降保全城市的意願,忻都同意了大阪商人們的請求,保證不屠城,不擄掠,保護城內居民的生命財產安全。於是大阪商人們的武裝偷偷打開城門,接應元軍入城,並將守城的日本武士部隊約七千人盡行殺死,是為“大阪無血開城”事件。
元軍進入大阪後,忻都兌現了諾言,對城內居民秋毫無犯,征集糧秣物資也都“盡給其值”,被稱為“佛兵”。不甘心投降的一些日本武士對元軍發起自殺式的攻擊,大都被殺,大阪城守草井友長及其部下三十二人戰敗後退入佛寺內,切腹自盡。
大阪陷落後,日本武士們紛紛雲集京都,加入到城防守軍當中,陸續到來的日本武士加上原來的京都守軍,人數很快超過了十萬人。執權北條時宗也親自到京都指揮防禦,並刺血明誓,要在京都全殲元軍。
憑借與元軍對峙的契機,鐮倉幕府再次強化了自己的權力。十二月八日,幕府命令各國原本上貢朝廷的國衙領和本所一元領出產的米糧充當戰爭軍需,早先頒布的關於寺社本所一元地效忠朝廷的官兵必須在武家的指揮下參與抗元戰爭的命令也被朝廷所正式承認。這樣一來,原本由朝廷任命的國司所掌握的抗戰權力徹底為武家政權所取代,朝廷唯一可以做的就隻剩下在諸國的神社、國分寺舉行敵國降伏的祈禱。武家幕府的權力自此超越了公家朝廷,成為日本列島的唯一統治者。