日本師團長佐野忠義在20日正午時分，在英軍砲火之中把指揮部由九龍城調至北角寶馬角，以掌握日軍實際進展。他在稍後將九龍及港島北的預備隊投入前線，使到日軍在下午可以恢復進攻。
淺水灣酒店率先爆發戰事。清晨時分，日軍因黑暗及不諳山路之故，部隊不斷走失：第11中隊向淺水灣東面的孖崗山行進，而第9中隊則轉為向西面的壽臣山而行，只有少量部隊成功抵達酒店外聚集。這使領頭的田中良三郎要回頭尋找失散部隊。
不久，米杜息士營B連發現日軍在酒店外聚集並虐打戰俘，即時予以伏擊，迫使部分士兵逃入車庫。米杜息士營隨即向莫德庇報告，而莫德庇則命華里士的東旅派出來福槍營（A連及D連）與香港防衛軍兩排步兵增援，並順路北上反攻。這批英軍抵達增援後，向尋找山路的第229聯隊開火，並在赤柱崗砲火掩護之下，於10時突擊油店車庫。當時車庫內同時有第3大隊的指揮部人員，但該部無法抵抗英軍進攻，只能銷毀密碼書及通訊設備，逃回北面山咀及紫羅蘭山。不過，英軍乘勝向北反攻之時，卻遭到山地的日軍壓制，最終又再退回酒店。
另一方面，第229聯隊第9中隊正向深水灣而行。由於該地的米杜息士營C連已經後退到黃竹坑班納山，日軍起初輕易佔據壽臣山南的高射砲陣地。後來米杜息士營C連及溫尼柏營C連分別由班納山出陣，向壽臣山反攻。第9中隊雖然守住英軍攻勢，自身卻有近四分之一軍兵傷亡，因而無法推進。中午前夕，酒店的來福槍營D連在蟬號砲艦支援下，再次反攻淺水灣道，但又遭日軍擊退。而莫德庇則將身處香港大學的旁遮普營A連調往南方，反攻壽臣山。
20日下午，港島北的戰事亦告爆發。莫德庇在下午1時35分下令西線全線向東反擊：禮頓山及大坑道一線的英軍行進不久，便遭遇北角發電廠而來的第229聯隊第1大隊，只能轉攻為守，阻止日軍進入維多利亞城。
21日，英軍最後一次嘗試反攻黃泥涌峽。在西旅方面，溫尼柏營C連與B連在7時分別由中峽北部及南部進攻，夾擊第228聯隊的駐軍。兩連步兵在隨後兩小時多次突擊日軍陣地，更殲滅日軍兩個小隊。然而兩連士兵始終寡不敵眾，傷亡枕藉，其中B連軍官更全數陣亡，最後被日軍悉數擊退。
在淺水灣一線，旁遮普營A連在8時攻上壽臣山，在激戰連場後終告失敗，全連只有八人生還，營長亦告陣亡。位於深水灣的第229聯隊支部在相若時間向西面的南朗山推進。
至於東旅方面，東旅將進攻時間定於9時，並由赤柱向大潭道反擊。當時第229聯隊已經向紅山半島西面的蓮花井山及龜山行進，並佔據及北面海旁的大潭水塘抽水站，拆毀抽水設施，令港島東西供水逐漸癱瘓。
英日雙方後來在龜山一帶遭遇交火。日軍成功打破香港防衛軍的防線，並攻進紅山；而來福槍營及香港防衛軍則在一輪混戰之中，成功在下午2時搶奪蓮花井山山頂，並向山下日軍掃射，造成大量傷亡。不過，英軍此時的體力已近耗盡，兼且第230聯隊剛好由大潭道南下增援，最終迫使英軍在6時撤退。英軍兩路反攻俱告失敗。
總司令莫德庇知道東西兩旅被分割及英軍戰敗，只是時間問題：西旅士兵早已兵疲力竭，損傷嚴重，只能勉強維持南朗山－金馬倫山－灣仔峽－跑馬地－禮頓山的防線，難以保障維多利亞城的民居；而東旅與西旅之間的通訊，則全繫於淺水灣的薄弱陣線。
總司令莫德庇在21日下午，向港督楊慕琦表示戰敗在即，為免造成更多士兵及平民傷亡，請求考慮投降，而楊慕琦亦隨即電告倫敦。
不過，倫敦當局並未完全掌握戰局，亦不希望香港過早投降，削弱英軍在東南亞其地戰場的士氣。故此，英國首相邱吉爾在接獲日軍登陸港島的消息時，曾電告香港不得考慮投降；而英國陸軍部部長大衛·馬傑遜、陸軍總參謀長艾倫·布魯克爵士、掌璽大臣艾德禮、殖民地大臣莫尼勳爵，都同意香港應繼續抵抗；英皇喬治六世等亦在稍後電告香港，鼓勵守軍堅持。莫德庇在21日至22日的半夜接獲倫敦政府回電，決定繼續防守。
至於日軍雖然在兵力及整體戰局佔優，但攻勢卻再次被英軍截停：第230聯隊的兩支大隊在黃泥涌峽折損嚴重，全日都在休整之中；南進的第229聯隊士兵，被英軍在淺水灣酒店、淺水灣道及壽臣山三地消耗分散，暫時無力進攻；由大潭道向南增援的第228聯隊雖有較佳戰力，但聯隊的指揮部卻遭到英軍機槍掃射，使到通訊人員大半傷亡。第228聯隊南下時也不停遭到赤柱砲台轟擊，引致不少巨石滾下山徑，令到行軍受阻。
22日起，港島的戰事逐漸分為中西部山地、北岸市區、南面淺水灣及東南赤柱四部。首先在22日上午，日軍終於切斷淺水灣道的東西交通，把英軍切割成東西兩部。至於淺水灣酒店因食水斷絕，華里士考慮到酒店內的婦孺安危，再加上行政立法兩局非官守議員蕭士（Andrew L. Shields）勸告，終於在下午決定撤出酒店，容許住客向日軍投降。酒店最終在22日深夜向日軍投降。在港島中央，第230聯隊的兩支大隊已完成休整，並在半夜再次進攻黃泥涌峽，終於在上午4時30分迫使溫尼柏營D連連部投降。稍後第230聯隊將目標轉回北部的跑馬地和灣仔。
同日中午及下午，金馬倫山的溫尼柏營及司徒拔道的蘇格蘭營俱遭砲擊及空襲。至於赤柱半島以北，第229聯隊曾攻佔赤柱半島北面的老虎山，但來福槍營C連在稍後回頭反攻，最終重奪山頭；深入大潭的第230聯隊分部，則把赤柱崗的英軍逐到南坡，威脅到馬坑山的來福槍營指揮部。來福槍營營長荷姆（William J. Home）在戰局已定的情況下，提議將馬坑山的加拿大士兵撤退，以減少加拿大軍人命損失；但華里士卻認為馬坑山是守備赤柱半島的要地，故此予以否決，兩人的衝突因此逐步升溫。有關加軍人命犧牲的爭議，此後一直持續不息。
踏入23日，英軍防線繼續瓦解。當日凌晨，第228聯隊攻佔金馬倫山，而英軍殘部則退守歌賦山、馬己仙峽及灣仔峽。第228聯隊本打算繼續西進，但遭到後至的英軍偵察兵連番反攻，再加上赤柱砲台又向山地開火，使聯隊暫時受阻。
在港島北面，日軍進迫銅鑼灣，並開始滲入禮頓山防線，敗退的英軍退至波斯富街一帶，而少量士兵則仍在山上；在黃泥涌峽，第230聯隊亦向西進，攻佔聖亞伯特女修院（今玫瑰崗學校）東面山地，迫退灣仔峽北面的英軍。至於港島西南，第229聯隊正向班納山推進，連同東面壽臣山方向的日軍，大有包圍南方的「小香港」及南朗山之勢，而該處卻是全港英軍最後一個可用彈藥庫的所在地。
23日同時是東旅西旅各自死戰的分界線。在西旅方面，第230聯隊在24日中午三面圍攻禮頓山，山上的米杜息士營殘部堅守至最後一刻，直到西旅下令准許撤退，才向堅拿道方向突圍。傍晚日軍進攻摩利臣山，同時威脅巴里士山的防空洞網絡。該等防空洞可穿過山上英軍陣地，通向灣仔市區，並威脅到域多利兵房總司令部安危。
至於港島西南，班納山亦在24日下午遭到日軍攻佔，而南朗山則在25日上午失守。日軍本打算在25日向西旅發動總攻，但由於準備重砲需時，而延期到26日早上。日軍因此在聖誕節派出俘虜，向英軍作非正式勸降。
聖誕節早上，日軍在7時至9時暫時停火，供英軍考慮投降。不過，楊慕琦在中午再次拒絕，日軍即時大舉進攻。日軍在中午攻佔巴里士山，並沿防空洞進佔海軍醫院，西旅總司令部對外的通訊至此大致中斷。雖然西旅英軍尚在灣仔街市、柯布連道、灣仔峽、馬己仙峽等地頑抗，但灣仔峽在下午亦告失守。
下午3時，壽臣山英軍向日軍投降，西旅同時失去最後的彈藥庫。3時15分，莫德庇報告楊慕琦，指日軍將在傍晚左右攻入維多利亞城，英軍敗局已定，建議楊慕琦考慮投降，以免各路英軍在失去通訊後繼續抵抗，引致不必要死傷。
楊慕琦與輔政司詹遜、律政司晏禮伯及駐港海軍高級軍官哥連臣準將（William Collinson）商議後，立即決定投降。楊慕琦先向倫敦電告，而莫德庇則聯絡日軍，並且下令所有英軍停火。傍晚時分，楊慕琦與莫德庇前往九龍半島酒店日軍司令部，向酒井隆投降。
至於東旅方面，華里士並未得悉西旅戰況。23日上午，英軍與日軍再次在赤柱崗激戰。稍後日軍雖暫時休整，但華里士亦被迫將防線收縮。此時，華里士與荷姆的分歧繼續擴大：荷姆認為應將部隊後撤至赤柱村，並考慮投降，但華里士卻根據莫德庇覆電的指令，而繼續堅守。不久日軍恢復進攻，英軍被迫退入赤柱，並在赤柱村及來福槍營部聖士提反書院後方，部署前後兩道防線。
稍後日軍晝夜砲擊赤柱，直到24日下午才攻向赤柱村防線。潰敗英軍退回聖士提反書院後方，而報復心切的第228聯隊則屠殺書院內的傷兵及護士。
25日凌晨，莫德庇回覆華里士報告，電令東旅繼續抵抗。當時赤柱英軍尚有香港防衛軍、米杜息士營及砲兵在外圍防線，但荷姆卻反對華里士派出來福槍營救援。當時日軍已經暫時停火，正等待楊慕琦答覆投降，而華里士也曾在9時30分收到總司令部下令停火。
不過華里士要求總司令部確認時，卻遲遲未收到回覆，而不久西旅司令部的對外通訊亦告中斷。華里士最終指派來福槍營D連連長反攻聖士提反書院，而這批部隊則在正午於書院外激戰，超過百人死傷。
下午日軍得悉楊慕琦決定投降，故此對赤柱停火。華里士雖在晚上8時從英軍俘虜接到投降消息，但他認為該消息並不可信；要到26日凌晨，華里士的副官將米杜息士營營長投降手令帶回，東旅才立即停火投降，並交出所有武器。
香港主要戰事至此告終。