中國自明初逐漸失去海上霸主的地位,科技與創新領域停滯不前。對於一個擁有4,500公里延綿海岸線的國家來說,清政府的水師人數遠遠不足、戰鬥力與防禦能力極度薄弱、統領階層也完全沒有做好保障沿海安寧的準備。隨着人口增長,農耕收成不足以應付需求,如何使人民溫飽已成為刻不容緩的問題。部分民眾憤然加入海上不法分子的行列。乾隆末年(1736-1795),海盜開始聯羣攔截商船。在廣東以東與以西的海盜活動逐漸擴展到珠江三角洲的中心地區。海盜建造的船隻速度更快,且火力更強,匪幫人數亦快速增長。至嘉慶年間,以鄭一為首的紅旗幫掌控了超過200艘船;而其競爭對手郭婆帶率領的黑旗幫,則擁有超過80艘船隻。清朝水師相比之下,無論規模或實力皆顯得望塵莫及。
海盜定期侵擾村落進行掠奪,更在其盤據的海域設立了「海關站」,向通過的貨船收取稅費,令一般貿易商危機滿途。船東無奈只能支付「保護費」,才能安全通過。廣東話常將這種行為稱為「打單」。[35]
嘉慶十年(1805年),海盜佔據大濠島(今名大嶼山)作為進攻三角洲地區的基地,隨之而來的是海盜與水師對立的大規模海戰。嘉慶十三年(1808年),軍方艦隊在位於深圳對出的孖洲之戰中被海盜殲滅,司令林國良身亡。同年八月,另一支由副司令林發率領的艦隊在虎門附近進行巡查,受到海盜突襲,損失數十名水兵與六艘船。[36]
嘉慶皇帝任命欽差大臣百齡前往剿盜,平息地區騷動。百齡無力建造更強大的船艦來增強水師實力,惟有封閉省內所有海港,不准船隻進出,又禁止向海盜提供補給品,而此策略亦漸見成效。當海盜食糧逐漸短缺,他們只能更加頻繁地掠劫村落,迫使居民與官方聯手抵抗海盜。不久後,郭婆帶歸降百齡。
鄭一死於一場颱風後,其妻鄭一嫂與張保繼承了紅旗幫。1809年,紅旗幫蹂躪豐饒的三角洲地帶,包括香山、東莞和新會等縣,又恐嚇居民,掠奪他們的農作物,作為船上的補給品。其後張保與鄭一嫂及部分海盜船隊沿珠江而下,集結在大嶼山的東涌灣,或許是盤算下一步行動。
這消息很快傳到百齡耳中,他連忙召集戰船艦隊(其中包括六艘駐澳門的葡萄牙戰船),並即時封鎖東涌灣口。無奈百齡的船艦火力不足,觀察風勢後,水師在一艘舊船上放火並讓它漂往海盜船隊,可惜風勢很快轉弱並改變風向,張保趁勢在黑暗中強行突圍,並乘風駛離。[37]
雖然這場著名的東涌之戰未分勝負,百齡對張保一黨所施加的壓力已生效。不久之後,於1810年初,張保向百齡釋出投誠意願,表示願意接受招安條件,並領紅旗幫歸降清廷。百齡果斷地把握張保投誠的契機,同時派遣原來由張保與郭婆帶率領的大批船隊,圍攻仍活躍於廣東西部的海盜。此後華南沿岸大致回復平靜。
儘管百齡的招安策略奏效,小規模的海盜活動在英人接管香港前仍持續地進行。