十九世紀開始,鴉片大量湧人中國。麵對著煙毒泛濫帶來的種種危害,清廷內部發生了激烈的爭論,形成馳禁派和嚴禁派之爭。道光十六年(1836年)六月,太常寺卿許乃濟上奏折,提出放棄禁煙政策。馳禁派的主張受到一部分開明官員的反對。道光十八年(1838年)六月,鴻臚寺卿黃爵滋上書道光皇帝,痛陳鴉片的種種危害,提出嚴禁的主張。提出以“重治吸食”的辦法,抵製鴉片的輸入。道光皇帝把他的奏折發給各省將軍及督撫大軍複議。七月,林則徐遵旨籌議《嚴禁鴉片章程》六條,讚成黃爵滋的主張,他同時在兩湖地區切實執行禁煙措施,成績顯著。九月,他又上《錢票無甚關礙宜重禁吃煙以杜弊源片》一折,進一步指出鴉片的禍害。麵對鴉片造成的“兵弱銀涸”的嚴重形勢,道光皇帝傾向了嚴禁派的主張,決定派林則徐為欽差大臣到廣東查禁鴉片。
道光十九年(1839年)三月十日,林則徐到達廣州,經過調查,確定禁煙應先斷絕鴉片的來源,所以一麵與鄧廷禎和水師提督關天培等加緊整頓海防,一麵嚴拿煙販,並緝拿顛地,懲處受賄買放的水師官弁,並調查了解鴉片屯戶、小販的活動以及販賣內幕。十八日,林則徐召集行商,宣布禁煙政策,傳令煙販三日內從速將存放的鴉片盡數繳出,造具清冊,經點檢後毀掉。並要他們保證以後永遠不再帶鴉片,如有重犯,一經查出,全部沒收,人即正法。林則徐還宣布:“若鴉片一日未絕,本大臣一日不回,誓與此事相始終,斷無中止之日。”表示了禁絕鴉片的決心。
英國駐華商務監督義律在接到通知後,便想方設法抗拒禁煙,唆使英商拒交鴉片。英國方麵還用威脅手段相對抗,令珠江口外英船開到香港,懸掛英國國旗,由英軍艦調度,作出戰鬥態勢;又抗議中國在廣州設防,準備迫令英國僑民撤離廣州。二十四日,義律經澳門潛入廣州洋館,指使煙販顛地乘夜逃走。為此,林則徐下令停止中英貿易,並派兵封鎖洋館,撤出仆役,斷絕了廣州與澳門的交通。義律得知這些情況後,覺得無法用直接抵抗辦法來保護鴉片貿易,便想利用繳煙一事引起中英兩國的直接衝突,以此來破壞林則徐的禁煙。於是他命令英商交出鴉片,並保證其所受損失由英政府賠償,同時為聯合美國共同侵華,也讓美商交出鴉片,損失將來也由英國政府負責賠償。英美煙販在得到義律的保證後,陸續交出鴉片兩萬多箱,合計2376000餘斤。義律交出煙後,林則徐立即下令恢複中英貿易。
六月三日至二十五日,林則徐率領地方官吏,在虎門海灘將所繳獲的鴉片當眾銷毀。海灘高處用樹柵圍起,開池漫鹵,然後投進石灰,傾刻間池內沸騰。最後打開池前涵洞,被燒毀的鴉片,隨潮衝人大海。整個銷煙過程,準許外國人觀看。前去現場觀看的中國百姓熙熙嚷嚷,無不感到歡欣鼓舞。
虎門銷煙在當時產生極大影響,是中國反對外來侵略的一項重大勝利。