國民黨駐守金門島的是第22兵團第5軍和第25軍以及剛從台灣調來的第201師,擁有8個團2萬人。其中,第5軍原是國民黨的“五大主力”之一,不過,第5軍的老部隊已在淮海戰役中全軍覆沒,現在的第5軍是其殘餘及征召新兵重新組建而成的,且在廈門戰役中,其166師已基本被殲,剩下的第5軍軍部和第200師約3000餘人據守在小金門。第25軍是一個屢戰屢敗的部隊,早在淮海戰役第一階段,該軍即被殲於碾莊,後在福建重新建軍,又在我進攻福州的戰鬥中基本被重殲,殘部逃到金門時僅縮編成一個團,之後,國民黨空軍又將機場警衛部隊編成40,45兩個師,與原25軍殘部一起重新成立了25軍。
剛剛從台灣調至金門的第201師是原青年軍部隊,是抗日戰爭末期蔣介石以“十萬青年十萬軍”為口號組織起來的,其待遇、裝備均較其他部隊優越,被蔣介石視為心腹嫡係。
此外,金門島還有一支裝甲部隊,即國民黨戰車第3團第1營。該營於1949年初組建,其主要成員均是從雙堆集包圍圈和華北戰場上逃回的裝甲兵人員,該營擁有重15噸,配置一門37毫米炮的美製1、15八1坦克21輛,是反登陸作戰強有力的力量。
戰前分析,國民黨在大金門島和小金門島各駐軍17000和3000人,其中,新兵又占多數,隻有201師和戰車營是較有戰鬥力的部隊。當時,金門島上雖然搶修了一些防禦工事,但這些工事防禦能力並不強大,多是成一線配置的野戰土木工事。
28軍前指受命攻金後開始了渡海作戰準備工作。然而,由於國民黨從大陸沿海撤退時,對漁民的船隻大肆破壞和掠奪,所剩漁船寥寥無幾。這使我軍準備渡海作戰船隻發生困難。直到10月24日才搜集到集中一次可航渡3個團約8000人的船隻,這離10月18日下達的進攻金門作戰的部署命令的總攻時間:10月20日已推遲了4天。
10月18日下達了作戰部署命令,其時,兵團包括葉飛司令員在內的不少領導到達廈門才4天時間,命令要求:以我28軍82師全部、84師251團、29軍85師253團及87師259團共6個團的兵力分兩個梯隊進攻,以迅雷不及掩耳的動作直插小金門。這一命令所要求準備的船隻實際上直到真正發起總攻時也未征集完成。
由於無法籌措到一次性渡運6個團部隊的船隻,第28軍前指作出了如下一個過於理想化的預想:第一梯隊登陸3個團,縱使有部分損失,船隻返回時第二梯隊、第三梯隊還可以再航渡3個團,這樣總共可有6個團大約13000人登陸。
這預想未曾料到,這些新籌措船隻的船員大多是外地人,內航道不熟,又未經統一施訓,故指揮調度十分困難。也未考慮敵情和海情的變化,敵人隨時可能的增援,更未考慮國民黨海,空軍較為強大的作戰能力。況且,在廈門之戰結束時,金門守軍已經得到了胡璉兵團18軍的增援,島上國民黨總兵力已達30000人。
國民黨總部不僅命令胡璉兵團18軍增援金門島,而且還不斷派兵增援,這一態勢已為10兵團領導所覺察。當解放金門的計劃上報到主管華東野戰軍作戰事宜的粟裕副司令員那裏時,粟裕曾特別強調了如下。
三點:(1)以原敵25軍108師12000人計算,隻要增敵1個團也不打:(2)沒有一次載運6個團的船隻不打:(3)要求蘇北或山東沿海挑選6000名久經考驗的船工,船工不到不打。然而,過於輕敵的28軍領導和10兵團領導卻輕率地認為,隻要能在大規模增援之敵還未立穩腳跟前攻占小金門,就能蠃得戰役的勝利。
第一梯隊倉促登陸。一場並沒有經過細致研究,又缺乏渡海船隻的兩棲作戰就這樣在24日晚7時開始了。28軍第一梯隊登船完畢後,軍前指曾一度猶豫,再次向兵團請示:是否按原計劃行動?而懷著捕捉戰機的兵團領導傳來不容變更的指示:決心不變!
24日深夜潮漲之時,由28軍82師244團、84師251團和29軍85師253團組成的進攻金門第一梯隊分別從蓮河、大橙島、後村等地起航,原計劃中的82師指揮所因船少而未參加第一梯隊的登陸作戰,由於渡海前各部隊沒有進行協同演練,所以,登陸船隊一離開碼頭,即與上級指揮所失去聯係,而且在航渡中遭到國民黨炮火攔截時,登陸船隊間又缺乏協同作戰的經驗,一些船隻在航渡中已被打散。
盡管如此,我第一梯隊的3支登陸部隊在25日淩晨2點分別登陸成功。左翼244團在金門島蜂腰部北岸瓊林、蘭厝間登陸成功,抓獲國民黨官兵100餘人,占領了敵十多個碉堡;中路的251團先頭營在金門島西北部的安歧以北,林厝以東順利登陸後,後續營的登陸卻遭到敵炮火的猛烈襲擊,傷亡近1/3;右翼253團在西北角的古寧頭、林厝間順利登陸後,隨即向敵發起進攻,於拂曉前攻占了古寧頭灘頭陣地。