衝繩島為琉球群島的第一大島,日軍在那裏築有良好的機場和港口,距九州僅約340海裏,是從西南方向掩護日本本土的重要屏障。因此,日軍大本營在馬裏亞納群島失守後就開始加強衝繩島一帶的防禦,將牛島滿中將指揮的陸軍第32軍部署在該地區。牛島以第9、第24、第62師團和第44獨立混成旅團防守衝繩本島,並全力修建機場和在機場周圍構築工事。他準備首先以海上特攻行動和空中襲擊來削弱進攻之敵,爾後集中數百門火炮實施反擊,將敵登陸兵消滅於海岸地帶。

可是,盟軍開始進攻菲律賓後,精銳的第9師團被調離衝繩。牛島甚為不滿,以兵力不足為由,決定放棄建有機場與防禦工事的衝繩北部和中部地區,將防線收縮到南部,以進行持久戰。而且把作戰方針改為依托島上的堅固築壘陣地實施陸上決戰,不再準備殲敵於水際灘頭。盟軍開始進攻前,防守衝繩島的地麵部隊為陸軍的2個師團和1個旅團,以及海軍的警備隊和陸戰隊等,共約10萬人。

為了支援島上的防禦,日海軍準備隨時派遣艦艇部隊駛往衝繩。還將能夠投入的陸、海軍航空兵分別部署在台灣、琉球、九州等地,以便在盟軍進攻衝繩島時對其登陸輸送艦船和海上艦隊進行攻擊。此外,在衝繩島及其鄰近島嶼還配置一個魚雷艇隊和數個由敢死隊員駕駛的自殺艇艇隊,以開展水上和水中的特攻作戰。

美國太平洋戰區總司令尼米茲於1944年10月就根據最高統帥部的意圖,決定於1945年春奪占硫磺島之後開始進攻衝繩島,以便形成對日本本土的戰略包圍態勢,並以“冰山戰役”作為這次作戰的代號。尼米茲將軍指派第5艦隊司令斯普魯恩斯出海擔任這次戰役的總指揮。

登陸編隊以1200餘艘各種艦艇組成,其中包括179艘登陸兵運輸艦和登陸物資運輸艦,以及187艘坦克登陸艦,由特納海軍中將統一指揮。登陸編隊遣送的登陸兵,是巴克納陸軍中將指揮的第10集團軍,下轄8個師,不包括第81師共為18萬餘人。為登陸編隊提供空中支援,主要由米切爾海軍中將指揮的快速航母特混編隊負責。另有一部分英國軍艦也參加了這次戰役。

為了封鎖衝繩地區,消除來自日本本土對美登陸編隊的威脅,米切爾率其快速航母特混編隊於1945年3月14日從烏利西錨地出航北上,3月18日和19日對九州地區的機場以及瀨戶內海的日本艦船進行多次空襲。有17艘日艦被擊傷,起飛進行反擊的193架日機中有161架沒有返航,還有一些日機被擊毀於地麵上,使日軍在4月6日以前不能大量地派出飛機去支援衝繩地區的防禦。但米切爾編隊也付出了不小的代價。除損失116架艦載機外,“富蘭克林”號航空母艦遭到重創,“企業”號、“約克城”號和“黃蜂”號3艘航空母艦受到輕傷。

3月20日,這支航母編隊轉向南進;22日與補給大隊會合,進行海上加油;23日駛抵衝繩群島以東約100海裏水域,開始對衝繩本島及其鄰近島嶼實施預先航空火力準備。

參加這次戰役的英國海上編隊,在羅林斯海軍中將率領下,於3月18日從阿德米勒爾提群島的馬努斯島起航,20日到達烏利西錨地,23日離開該地繼續向西北航進。在3月26日至31日期間,對宮古島一帶機場進行了襲擊,以阻止日軍從台灣和先島群島對衝繩守備部隊進行支援。這樣,美、英兩支航母特混編隊在戰役開始之前,已從北南兩個方向把衝繩地區孤立了起來。

登陸編隊中的一支火力支援部隊,在布蘭迪海軍少將指揮下,自3月23日就開始對衝繩島的有關接近航路進行掃雷,接著又從護航航空母艦上派出艦載機轟炸衝繩各目標。另一支火力支援部隊在戴約海軍少將指揮下,於3月26日進入已掃過水雷的衝繩水域,開始實施艦炮火力準備。

美軍的艦艇和飛機正對衝繩本島實施火力準備,牽製住日軍的主力時。一支登陸輸送隊在吉蘭海軍少將率領下,於26日上午遣送布魯斯少將指揮的陸軍第77師,在衝繩島西南約距15海裏的慶良間列島登陸。這些小島上的防禦兵力薄弱,美軍至次日就將其全部控製。還繳獲了攜帶深水炸彈的特攻艇250餘艘。

在這個列島中的最大海島及其以西的5個小島之間有個慶良間海峽,兩個出入口皆可布設網柵障礙,在其中可停泊75艘大型艦船,是個良好的錨地。

自3月27日就有供應艦、油船、軍火船、修理艦等後勤輔助艦船陸續開進慶良間海峽錨泊。這樣一來,就把一個能夠進行補給和小修的後勤基地推進到作戰海域內。3月31日,美軍又占領了慶良間列島和衝繩島之間的慶伊瀨島,並在島上設置了155毫米火炮,以便支援進攻衝繩本島的突擊上陸戰鬥。

參加進攻衝繩本島的登陸部隊,隨著各登陸輸送隊分別從舊金山、西雅圖、瓦胡島、新喀裏多尼亞島、聖埃斯皮裏圖島、瓜達爾卡納爾島、塞班島、萊特島等地出發,於4月1日淩晨抵達衝繩島附近。海軍陸戰第2師所屬部隊首先在衝繩島南部的東南海岸登陸,實施佯攻,以便將抗登陸兵力從主要登陸地域誘開。

主要登陸地域選擇在嘉手納地區的西海岸。海軍陸戰第6師和第1師,以及陸軍第7師和第96師自北向南依次在各自的規定水域內進行換乘。8時許,在艦炮和航空火力的直接掩護與支援下。上述各師分編為若幹艇波開始向岸灘突擊。

此外,陸軍第27師作為留船待命預備隊,第77師占領慶良間列島等地後也擔任預備隊的任務。第81師作為整個戰役的總預備隊,暫在駐地待命,準備隨時出發。

從嘉手納西海岸登陸的4個師,隻受到輕武器和迫擊炮的輕微抗擊。登陸日當天就有5萬名登陸兵以及大批坦克和火炮上岸。先頭部隊迅速奪占了登陸地域附近的嘉手納機場和讀穀機場,建立起正麵14公裏、縱深5公裏的登陸場。自4月2日開始,部分登陸兵首先橫跨該島,挺進到東海岸,將該島攔腰切斷。此後,陸軍第27師和96師向南推進,海軍陸戰第1師和第6師向登陸地域以東和東北方向挺進,迫使日軍防線逐步後撤。4月6日,日聯合艦隊派出的海上特攻部隊從瀨戶內海出擊,前去支援衝繩的防禦戰,行至中途遭美艦載機圍殲。

向該島東北發動進攻的美海軍陸戰師,未遇頑強抵抗,至4月18日就已完全占領了衝繩島的北部地區。21日,攻占慶良間列島的第77師又占領了該島西海岸附近的伊江島。但向南部進攻的第7師和第96師卻進展緩慢,遇到愈來愈激烈的抗擊。留船待命的第27師被投入南線的進攻後,日軍的外圍防禦地帶始被突破。

4月19日,登陸兵已迫近牛島的主要防禦陣地,攻防雙方處於僵持狀態。美軍重新調整了部署,將攻占北部地區的海軍陸戰師調換到南線,以加強攻勢。牛島組織守備部隊於5月4日大舉反攻,結果失利,遂收縮陣地。5月底,登陸兵在艦炮火力的直接支援下,沿東西海岸向前推進,開始從兩翼包圍日軍的主要築壘地域。6月4日,一部美軍又在日軍背後登陸,使其首尾不得相顧。此後,美軍的進攻速度加快。至6月22日,守軍的最後一道防線終被突破,牛島滿及其參謀長等人剖腹自殺,日軍停止了有組織的抵抗。但對其殘餘部隊的清剿,直到6月底才告結束。

在整個戰役過程中,日軍始終以航空兵力拚命組織反擊,尤其是竭力使用自殺飛機實施特攻作戰。

早在1945年3月20日,日軍大本營就已決定:集中使用陸、海軍的航空兵力,將前來進攻衝繩的美軍大部消滅在海上,所餘之敵由守島部隊殲滅於島上。日軍以“天號”作戰作為這項空中攻擊的代號。但在美軍開始進攻衝繩之前,計劃用於這項攻擊的航空部隊,或因遭美航母特混編隊襲擊已消耗了戰鬥力,或因訓練尚未結束不能投入戰鬥,未能利用有利戰機實施大規模空襲,僅組織部分飛機出擊,效果不甚理想。

盡管如此,自殺飛機對美軍艦船的傷害仍然不小。3月31日,斯普魯恩斯將軍的旗艦“印第安納波利斯”號受到“神風”特攻機的撞擊,艦體被炸開兩個大洞,迫使這位司令官不得不改以“新墨西哥”號戰列艦為旗艦。4月2日,1架特攻飛機又將“迪克森”號快速運輸艦撞成重傷後沉沒。至4月5日,美軍已有39艘艦船被自殺飛機擊傷,其中包括舊式戰列艦2艘、巡洋艦3艘和護航航空母艦1艘。

日軍大本營認為,麵對上千艘來攻的艦船,隻派小批飛機出擊,不足以阻止敵人的進攻,必須組織大規模的空中攻擊,才能給予美國艦隊以沉重打擊,因而決定自4月6日起,對進攻衝繩之敵實施包括特攻在內的空中總攻,並將這一行動稱為“菊水”作戰。

4月6~7日,日軍派出699架飛機,對衝繩附近的艦船進行猛烈攻擊,稱為“菊水1號”作戰。在這兩天的空襲中,美軍的驅逐艦2艘、軍火船2艘、坦克登陸艦和快速運輸艦多艘被擊沉,還有22艘艦船被擊傷。

至6月22日,日軍進行10次這樣的攻擊,共出動各種飛機6000多架次,雖給美軍以及英軍的艦船造成巨大損失,但對整個戰局未起決定作用。

在這次戰役中,守島日軍除11萬人被俘外,其餘全部被殲;盟軍方麵約有13萬人戰死,36萬人負傷。日軍有16艘艦船被擊沉,損失飛機4290餘架;盟軍有32艘軍艦被擊沉,約300艘艦船被擊傷,損失飛機700餘架。這是美軍在第二次世界大戰中所進行的最後一次登陸戰役。

這次戰役的結果,使美軍取得了進攻日本本土的重要海、空基地。美軍以壓倒優勢的兵力,付出巨大的代價,花費將近3個月的時間,才奪下這個由孤軍防守的海島,從而意識到,如對日本本土發動登陸作戰,將會遇到更多的困難,遭到更大的損失。這就促使美國最高當局於7月間作出了使用原子彈的最後決定。