Leung Chang (Yuen Biao) is a young man in a wealthy family living in Foshan in the mid-19th century. He is a martial artist trained by two instructors in his father’s employ. He has fought over three hundred times in Foshan and won every fight, but unbeknownst to him, his father has arranged for his servant Yee Tung-choi (Chan Lung) to bribe Chang’s opponents to lose to him in order to protect him. This has caused Chang to believe that he is a world-class fighter, but in truth he hasn’t even mastered the basics of kung fu and any real fighter could easily defeat him. Everyone knows this but him, giving him the nickname “The Prodigal Son” behind his back, because of the money he is costing his parents who pay to keep him from getting injured.
One night, three of Chang’s friends attend a performance by the Lok Fung Lin Chinese Opera troupe. One of Chang’s friends is attracted to the lead actress and asks her out on a date after the performance. She refuses, but he insists and even harasses her. She reveals herself to be a man, Leung Yee-tai (Lam Ching-ying), a master of Wing Chun. He beats up and humiliates Chang’s friends. Chang challenges Yee-tai to a fight to avenge the insults to his friends. As usual, Yee Tung-choi tries to bribe Yee-tai to lose, but Yee-tai refuses, easily defeats Chang, and reveals the truth about his martial arts ineptitude to him.
Chang, desiring to learn real kung fu, asks Yee-tai to teach him Wing Chun. Yee-tai refuses because he thinks Chang would probably misuse it, but Chang has his father buy the Lok Fung Lin troupe and gives himself a job as Yee-tai’s personal assistant, insisting on following Yee-tai everywhere until Yee-tai agrees to teach him Wing Chun. This continues for six months. The Lok Fung Lin troupe travels to Canton. There, Yee-tai’s Wing Chun skills are witnessed by Lord Ngai Fei (Frankie Chan), the son of a Manchu duke, who is also a martial arts master and is hunting for a worthy opponent.
Ngai forces Yee-tai to fight him. Ngai and Yee-tai are evenly matched until Yee-tai has an asthma attack. Ngai stops the fight and postpones it until Yee-tai is healthy and fit for it. It is revealed that Ngai is also a “prodigal son”; unbeknownst to him, his father has ordered his bodyguards to protect him from anyone who might beat him in a fight. However, their methods are more ruthless and brutal than the bribery employed by Chang’s parents; they resort to assassination.
During the night, Ngai’s bodyguards and a team of assassins infiltrate the Lok Fung Lin theater, massacre the troupe, and burn down the theater. Yee-tai is having trouble sleeping because of his asthma, and he sees light reflected off an assassin’s blade through his eyelids and reacts in time to escape along with Chang. The assassins think they died in the fire, as does everyone else. Yee-tai takes Chang to the home of his martial brother Wong Wah-bo (Sammo Hung). With Wah-bo’s help, Chang finally convinces Yee-tai to teach him Wing Chun. Chang trains under both Yee-tai and Wah-bo; Yee-tai trains him in Wing Chun and Wah-bo trains him in freestyle fighting.
Over time, Chang achieves proficiency in martial arts, but Yee-tai’s asthma is worsening. Chang takes Yee-tai back to Foshan to see a doctor. There, Ngai learns that Yee-tai is still alive, and he visits him. Yee-tai reveals that Ngai’s bodyguards have been assassinating everyone who might beat Ngai. The bodyguards murder Yee-tai. Ngai, horrified, has his bodyguards executed. Chang challenges Ngai to a fight. Using everything that Yee-tai and Wah-bo taught him, he manages to beat Ngai.