The film opens with a Saiyan Space pod flying through space and crash-landing on Earth. The crash causes a small crater to appear, and a seriously injured, barely alive Super Saiyan crawls out: Broly, the Legendary Super Saiyan. As the weather gets colder, Broly's power decreases, and he reverts back to his original Super Saiyan state, until he finally loses consciousness and turns back into a normal Saiyan. Water pours over, and freezes, trapping the sleeping Broly and preserving him.
Seven years later, Goten, Trunks and Videl are looking for the Dragon Balls because Videl wants to see Shenron. During their search, they find that there is a local village called Nataday that is ruled by a priest, who always seems to think that everything in the world is a curse. The residents of Natade village claim that they are usually terrorized by a monster, and their only source of help is the priest's preaching.
Goten, Trunks and Videl decide to make a plan to rid Natade Village of the monster by leaving food for it and hiding in a trunk next to it. However, Trunks and Goten's hunger gets the better of them and Trunks sneaks an apple, but Videl doesn't allow Goten to do so, eventually smacking him across the face and causing him to cry a lot. Goten moans and cries (actually pretending) while Videl attempts to apologize, until she finally gives in and hands him an apple.
Then, the monster appears, and turns out to be a dinosaur. After a battle, the dinosaur is killed and eaten by Goten, Trunks and Videl for dinner. The priest is then rejected by the villagers for not being a competent savior, and thrown out of the village. With Natade village now a peaceful place to live, Goten, Trunks and Videl depart to continue their Dragon Ball hunt.
However, unknown to them, Goten's earlier cries caused a mysterious shattering on a layer of ice, the same layer of ice which Broly was trapped in. Broly awoke in the ice due to Goten's crying (As it reminded him of Goku's crying, which Broly hated Goku for) and shatters the ice, enraged and a Super Saiyan.
Night time falls as Goten, Trunks and Videl fall asleep so they can continue their quest the next day to bring Shenron out. Early morning Videl is awaken by loud explosions in the distant and takes off flying to investigate the explosions by the nearby lake. Here Videl is confronted by a young man with white trousers, earrings, a red belt, no top, and blond hair: Broly in his regular Super Saiyan form.
While Broly and Videl confront each other, Goten and Trunks see what is happening, and try to convince Broly to stop. But when Broly sets his eyes on Goten, his rage comes to the surface, because he mistakes Goten for Goku, due to the same hair style and the cries. Broly turns his attention to Goten and Trunks, and battles them, pounding them seriously.
During the battle, Goten's eyes fall on the nearby last Dragon Ball, so Trunks tries to distract Broly by mooning and taunting him while Goten gets the Dragon Ball. Unfortunately, Goten tries to summon Shenron behind a waterfall so that Broly doesn't see him, and Shenron does not appear. Just as Broly is about to finish Goten and Trunks off, Gohan appears at the last minute and saves the two younger Saiyans.
With Trunks and Goten safe for now, Gohan lands and explains that Broly is the feared Legendary Super Saiyan, whom he battled alongside Goku seven years ago. To his surprise, Gohan finds out Videl is also with Goten and Trunks. Thinking now that Gohan is Goku, Broly calls out Kakarot! and charges towards Gohan. Gohan then begins to fight Broly head-on. The two Saiyans seems to be even with one another. Just then Videl reappears and Gohan and Broly take their battle to the skies. Broly then turns his sights on Goten, Trunks, and Videl who are standing on a cliff watching the battle below. Broly guides an energy ball that he throws towards the three below. Gohan, at the last second, appears in front of the others and using his power, tries to shield his brother and friends from the blast but to no avail. The blast seriously hurts the others and Gohan is the only one left standing to face Broly. Angry at this turn of events, Gohan powers up and transforms into his Super Saiyan form. Broly follows up by powering up to his Legendary Super Saiyan form. After a short fight, Gohan, now overpowered, is unable to find a way to beat Broly. Just then, Gohan sees his only chance to beat Broly. Gohan lures Broly into a pit of molten lava that Broly's energy ball made earlier. Broly is apparently caught and dragged into the molten lava. A weakened Gohan is rescued in time by Krillin before he could be caught in the lava himself. To everyone's shock, Broly re-appears before their eyes after shielding himself in an energy shield, and knocks Krillin out with one energy attack. Broly then proceeds to try and kill Gohan, with everyone too weak and exhausted to help.
Just as Broly is about to squeeze the life out of Gohan, Videl appears and intervenes by throwing a crystal at the huge Saiyan that distracts him for a moment. Seeing Videl pass out after throwing the crystal angers Gohan and kicks Broly in the stomach, freeing himself from Broly’s grip. Gohan transforms again into his Super Saiyan form and attacks Broly with his Kamehameha, but Broly counter-attacks with a gigantic green energy ball powerful enough to destroy the Earth, and blocks Gohan's attack. The Dragon Balls fall out of Goten's bag and begin to glow. The glow awakens Goten, who was knocked unconscious from Broly's earlier blast and arrives next to his older brother. Goten also transforms into a Super Saiyan and fires his own Kamehameha Wave to help Gohan. However, even with a combined Kamehameha Wave, Broly still has the upper-hand and starts to push the huge green energy bomb forward by firing multiple ki shots at it. Goten, now afraid of losing, begins wishing Goku was there in his mind. The Dragon Balls seem to hear Goten's wish and begin to shine and seemingly Shenron is summoned (the clouds and sky turn black but Shenron does not actually appear on screen). Shenron seems to grant Goten's wish, and Gohan and Goten surprisingly hear a familiar voice coming from the sky: their father, Goku's voice. Somehow, Goku appears from the dark sky and lands beside his two sons, transforms into his Super Saiyan form, and seemingly fires his own Kamehameha Wave to assist his two sons. He coaches them in the Kamehameha Wave duel, which works for a short amount of time until Broly launches more ki blasts into the bomb. Trunks, now awakened from the energy battle, sends one last ditch effort ki ball that he had been charging up at Broly and passes out. Trunks' energy ball creates a barrier between Broly and his giant energy bomb. This keeps Broly from firing more ki blast into the bomb to help power it forward. Seeing this opportunity gives Goku and his sons enough time to launch all their power into the combined triple Kamehameha Wave that breaks through the bomb. Broly's last second efforts are futile as he is blasted into the sun where his chest and back blow open and his heart explodes as he screams "Kakarot!" for help (for the second time in the movie) and disintegrates in the sun. At the end of the movie, they ask if Goku was really there or not; the facts that Goku did not have a halo, that he had been hollow while decending, and that he did not remain revived imply that he was a spiritual aid rather than a physical one.
After the smoke clears, the Dragon Balls are gone, and so is Goku. With Broly now gone, Gohan, Goten, Trunks, and Videl return home. The movie ends with Krillin still being stuck in the rock that he was blasted into and ends the movie by saying "Hey there! That's all fine and everything but what happens to me?".