主要登陸地域選擇在嘉手納地區的西海岸。海軍陸戰第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多架次,雖給美軍以及英軍的艦船造成巨大損失,但對整個戰局未起決定作用。
在這次戰役中,守島日軍除1.1萬人被俘外,其餘全部被殲;盟軍方麵約有1.3萬人戰死,3.6萬人負傷。日軍有16艘艦船被擊沉,損失飛機4290餘架;盟軍有32艘軍艦被擊沉,約300艘艦船被擊傷,損失飛機700餘架。這是美軍在第二次世界大戰中所進行的最後一次登陸戰役。
這次戰役的結果,使美軍取得了進攻日本本土的重要海、空基地。美軍以壓倒優勢的兵力,付出巨大的代價,花費將近3個月的時間,才奪下這個由孤軍防守的海島,從而意識到,如對日本本土發動登陸作戰,將會遇到更多的困難,遭到更大的損失。這就促使美國最高當局於7月間作出了使用原子彈的最後決定。