In 1895 during the late Qing Dynasty, Wong Fei Hung (Jet Li) travels by train to Canton to attend a seminar on Western and traditional Chinese medicine. He is accompanied by his romantic interest "13th Aunt" Siu Kwan (Rosamund Kwan) and disciple Leung Foon (Max Mok). He gives a lecture during the seminar on the benefits of acupuncture while a fellow Chinese doctor present there helps him translate for the predominantly Caucasian audience.
The seminar is disrupted by members of the fanatical White Lotus Society, an extreme nationalist cult which is led by the sinister and seemingly invincible Priest Kung (Hung Yan Yan). The cult aims to drive all foreigners out of Canton and they have been killing foreigners and destroying everything regarded as foreign. Later, Wong learns that his translator friend, by the name of Sun Man (Cheung Tit Lam), is actually the leader of a group of pro-democratic rebels who wish to establish a republic in China. Sun Man and another fellow rebel named Luke Ho Tung (David Chiang) are planning to travel to Hong Kong to continue with their plans for revolution.
Wong decides to help Sun and the rebels in their plan, but they encounter an official of the Manchu imperial government called General Nap Lan (Donnie Yen) who stands in their way. Further chaos ensued when the cult attack a foreign-language school for children. Siu Kwan brings the children to hide in the British Consulate. Nap Lan suspects that the rebels are hiding inside the Consulate and orders his men to disguise themselves as cult members and attack the Consulate. Wong defends the Consulate while Sun escapes secretly. Later, Nap Lan enters the Consulate in the name of protecting the foreigners from the "cult members" while taking the opportunity to search for Luke. Luke disguises himself as Leung and follows Wong out of the Consulate safely. Meanwhile, Leung disguises himself as Luke to lure Nap Lan away. To put an end to the cult's evil activities, Wong and Luke travel to the cult's headquarters to confront Priest Kung. After an intense battle, Wong defeats Priest Kung and the cult is disbanded.
Wong, Luke and Leung proceed to retrieve the hidden contact name list of the rebels. They encounter Nap Lan and his soldiers. Luke is killed by gunfire. In the final scenes of the film, Wong Fei Hung and Nap Lan have a dramatic showdown dubbed as "the greatest fight of Jet Li on screen". Eventually, Nap Lan was killed and Wong manages to retrieve the name list. He returns it to Sun, who had been waiting at the dock and Sun sails to Hong Kong safely. The closing scenes of the film are exactly the same as the prequel film.